DeployCode
Сборка и деплой

Готовность и healthcheck

Когда развёртывание считается успешным.

После запуска новой версии DeployCode не сразу помечает развёртывание успешным, а проверяет готовность:

  • все ожидаемые реплики сервиса запущены именно с новым образом;
  • если в образе задан healthcheck, контейнеры в состоянии healthy;
  • это состояние держится без сбоев не меньше 10 секунд.

На всю проверку отводится 10 минут. Если за это время версия не стала готовой, развёртывание завершается с ошибкой, но сервис может продолжать запускаться.

Без healthcheck готовность подтверждает только то, что процесс запустился, — но не то, что приложение отвечает по HTTP.

Healthcheck

Healthcheck берётся из образа — инструкция HEALTHCHECK. Образы, которые собирает Railpack, её не содержат, а задать healthcheck в настройках сервиса пока нельзя.

Если проверка не прошла

СообщениеЧто значит
Истекло время ожидания готовности новой версииЗа 10 минут версия не стала готовой. Проверьте журнал, порт и healthcheck
Docker приостановил обновлениеКонтейнер новой версии не запустился или не прошёл healthcheck
Docker начал откат обновленияDocker вернул предыдущую версию — новая не подтверждена
Эта попытка заменена другим обновлением сервисаПока шла проверка, сервис обновили ещё раз
Развёрнутый Docker-сервис не найден на сервере запускаСервис удалили с сервера во время проверки
Не удалось проверить Docker на сервере запускаПанель не смогла связаться с Docker — проверьте сервер

Частая причина в первые запуски — приложение слушает не тот порт, что указан в домене. См. Фреймворки → Порт.

На этой странице