d426aa39ed
- AGENTS.md: правила проекта (структура доков, стек, статьи, деплой, git, openspec, проверки) - README.md: сокращён до введения + указателей на docs/ - docs/: DEPLOY_INSTRUCTIONS, ROADMAP, PAPERMOD_PARAMS, QWEN, gitea-setup, Telegram_frontend, ssh_setup, archive/PROJECT_SUMMARY (из .qwen/) - tools/: winscp_script.txt переехал из корня к deploy_sftp.py - Makefile и deploy_sftp.py: ссылки на docs/DEPLOY_INSTRUCTIONS.md
109 lines
3.9 KiB
Markdown
109 lines
3.9 KiB
Markdown
# Инструкция по публикации сайта через SFTP
|
||
|
||
## Описание
|
||
|
||
Этот документ описывает процесс публикации сгенерированного сайта (папка `public`)
|
||
на хостинге через SFTP. Решение кроссплатформенное и работает как на Unix-подобных
|
||
системах (Linux/macOS), так и на Windows.
|
||
|
||
> **ВАЖНО: деплой сайта выполняется ТОЛЬКО через `make deploy`.** Аккаунт Jino —
|
||
> SFTP-only: удалённый запуск команд (rsync, ssh-exec) запрещён сервером
|
||
> (ошибка `exec request failed on channel 0`). Прямой rsync на этот аккаунт
|
||
> НЕ РАБОТАЕТ.
|
||
|
||
## Учетные данные и параметры подключения
|
||
|
||
- **Хост**: kpa39l.myjino.ru
|
||
- **Порт SFTP**: 2222
|
||
- **Пользователь**: kpa39l_dedinit
|
||
- **Пароль**: -Zp4ep747t25
|
||
- **Целевой путь**: /dedinit.ru (относительно корня аккаунта)
|
||
|
||
## Установка зависимостей
|
||
|
||
### Для Linux/macOS
|
||
|
||
- **Python 3** (с venv/pip)
|
||
- **Make** — для выполнения команд из Makefile
|
||
- Пакет `paramiko` ставится автоматически в `.venv/` при первом `make deploy`
|
||
(таргет `venv`), либо вручную: `pip install paramiko`
|
||
|
||
### Для Windows
|
||
|
||
- **WinSCP** — установите с официального сайта (<https://winscp.net/>)
|
||
- **Make** — можно установить через Chocolatey, MinGW или Git for Windows
|
||
|
||
## Использование Makefile
|
||
|
||
### Сборка сайта
|
||
|
||
```bash
|
||
make build
|
||
```
|
||
|
||
Команда генерирует сайт в папку `public/`.
|
||
|
||
### Деплой сайта
|
||
|
||
```bash
|
||
# один раз экспортируем пароль SFTP (каждый раз в новой сессии)
|
||
export SSHPASS='-Zp4ep747t25'
|
||
make deploy
|
||
```
|
||
|
||
ЕДИНСТВЕННЫЙ способ публикации. Сначала собирает сайт, затем зеркалирует
|
||
`public/` на сервер (`/dedinit.ru`) с удалением устаревших файлов
|
||
(аналог `rsync --delete`):
|
||
|
||
- **Unix**: `tools/deploy_sftp.py` (paramiko, SFTP + рекурсивный mirror)
|
||
- **Windows**: WinSCP.com (скрипт `winscp_script.txt`)
|
||
|
||
Если `SSHPASS` не задана — `make deploy` завершится с ошибкой и подсказкой.
|
||
|
||
### Симуляция деплоя
|
||
|
||
```bash
|
||
export SSHPASS='-Zp4ep747t25'
|
||
make deploy-dry-run
|
||
```
|
||
|
||
Собирает сайт и показывает, какие файлы будут загружены/удалены, без заливки.
|
||
|
||
### Очистка
|
||
|
||
```bash
|
||
make clean
|
||
```
|
||
|
||
Команда удаляет папку `public/`.
|
||
|
||
### Полная пересборка
|
||
|
||
```bash
|
||
make rebuild
|
||
```
|
||
|
||
Команда удаляет папку `public/`, затем заново собирает и деплоит сайт.
|
||
|
||
### Справка
|
||
|
||
```bash
|
||
make help
|
||
```
|
||
|
||
Показывает список доступных команд.
|
||
|
||
## Конфигурация
|
||
|
||
Параметры подключения для Unix находятся в `tools/deploy_sftp.py`
|
||
(переменные `DEDINIT_HOST`, `DEDINIT_PORT`, `DEDINIT_USER`, `DEDINIT_REMOTE`,
|
||
по умолчанию — kpa39l.myjino.ru:2222 / kpa39l_dedinit / /dedinit.ru).
|
||
На Windows — в `Makefile` и `winscp_script.txt`.
|
||
|
||
При необходимости вы можете изменить эти параметры.
|
||
|
||
## Настройка для Windows
|
||
|
||
1. Убедиться, что WinSCP установлен в стандартную директорию
|
||
`C:\Program Files (x86)\WinSCP\`
|
||
2. Файл `winscp_script.txt` содержит команды для подключения и синхронизации файлов |