refactor: use one safe deployment path
Always stop, back up, migrate and check readiness instead of maintaining image/config hash detection and selective updates. Keep file locking, key preservation and interrupted recovery. Repeated and frontend-only deployments may cause brief API downtime.
This commit was merged in pull request #3.
This commit is contained in:
@@ -131,12 +131,11 @@ Backups и `.deploy` всегда находятся рядом с фактич
|
||||
|
||||
1. Проверка тега, настроек, данных и CA; загрузка образов и проверка прав
|
||||
runtime user. Ошибка до остановки сохраняет работающие сервисы.
|
||||
2. Сравнение образов и конфигурации с реальными контейнерами. При исправной
|
||||
неизменной установке — no-op. Если изменился только frontend, backend
|
||||
продолжает работать, backup и migration не запускаются.
|
||||
3. Если изменился backend или его конфигурация: stop → копия **всего** data
|
||||
directory с WAL/SHM → migration → backend readiness. Неизменный frontend
|
||||
не пересоздаётся; если меняется и он, запускается после готовности backend.
|
||||
2. Stop backend → копия **всего** data directory с WAL/SHM → migration →
|
||||
backend readiness. Только для `--init` пустой базы backup не требуется.
|
||||
3. Запуск frontend после готовности backend. Каждый вызов выполняет этот путь,
|
||||
включая повтор того же тега и frontend-only update. No-op/change detection
|
||||
отсутствуют; приняты короткий простой API и дополнительный backup.
|
||||
4. Успех записывается в `.deploy/current` только после проверки запуска.
|
||||
Краткий простой допустим. После обновления проверьте через HTTPS deep link,
|
||||
login/refresh, существующие карты и чтение зашифрованного подключения.
|
||||
@@ -241,7 +240,7 @@ cp -a /opt/wealthledger/backups/CHOSEN_BACKUP/data /opt/wealthledger/data
|
||||
```
|
||||
|
||||
Tests используют настоящий Git, backup-файлы и file locks, а Docker заменяют
|
||||
управляемым double. Проверяются update/no-op, смена настроек, сохранение ключей,
|
||||
управляемым double. Проверяются полные повторные updates, настройки, ключи,
|
||||
ошибки pull/backup/migration/readiness, конкуренция и незавершённая операция.
|
||||
Отдельная проверка реального Docker для restore: `bash tests/deploy.sh --docker-restore`.
|
||||
Она создаёт временный project, заменяет bind-каталог и проверяет пересоздание
|
||||
|
||||
Reference in New Issue
Block a user