Оформление
Обновление приложения
Проверьте серверный комплект
release-add, history и update реализованы в локальном кандидате установщика, но их поставка в действующий серверный комплект не подтверждена. До выполнения команд получите подходящий проверенный комплект у сопровождающего. Не подменяйте рабочий установщик отдельными файлами. Применимость инструкции.
Новый механизм обновления переключает зарегистрированный неизменяемый образ приложения, предварительно создавая проверенную копию. Операцию выполняют на Linux-сервере в согласованное окно обслуживания. На момент начала app должен работать, PostgreSQL и хранилище копий — быть доступны.
Подготовка релиза
Получите проверенный образ по digest и соответствующие ему сведения о совместимости. Перед production проверьте релиз в отдельном STAGE: вход, ключевые операции, вложения и интеграции. Доступность контейнера не заменяет такую проверку.
Зарегистрируйте текущий образ до обновления, если у него ещё нет записи: при совпадении с APP_IMAGE регистрация проверит готовность и сохранит исходное успешное состояние. Используйте свободные имена версий; повторная регистрация того же имени запрещена.
sh
cd /opt/ngensia/deploy
sh ngensia.sh release-add CURRENT_VERSION CURRENT_IMAGE_DIGEST
sh ngensia.sh release-add TARGET_VERSION TARGET_IMAGE_DIGEST
sh ngensia.sh history
sh ngensia.sh backup-statusЗамените заглавные обозначения фактическими версиями и digest из квалифицированного комплекта. release-add только регистрирует образ, не публикует его в registry и не обновляет приложение.
Проверка требует точного совпадения пяти инфраструктурных файлов в образе и установленном комплекте: compose.yml, compose.s3.yml, postgres-entry.sh, postgres-init.sh, Caddyfile. Релиз, меняющий этот контракт, требует отдельного проверенного обновления установщика. Не редактируйте файлы ради обхода сравнения.
Это относится и к размещению документации по /docs/: добавление маршрута меняет Caddyfile. Если образ содержит прежний файл, регистрация и обновление будут отклонены. Сначала согласуйте совместимый инфраструктурный комплект; не удаляйте маршрут документации и не подменяйте контрольные суммы ради прохождения проверки.
Выполнение и проверка
sh
sh ngensia.sh update TARGET_VERSION
sh ngensia.sh history
sh ngensia.sh statusОперация сохраняет историю, создаёт копию с остановкой app, проверяет архив и remote, меняет APP_IMAGE, выполняет миграции, проверку файлов и запуск. Успех обозначается ready в истории. После этого проверьте HTTPS, реальный вход и согласованные пользовательские сценарии.
Ошибка после начала переключения оставляет app остановленным и записывает failed. Старый образ автоматически не возвращается, обратные миграции не выполняются. До дальнейших действий изучите историю и журналы, сохраните диагностические материалы и определите совместимость схемы. Простая замена APP_IMAGE не является безопасным откатом.