Откаты
Узнайте, как откатить ваше приложение в Skitflow.
Откаты — это мощная функция, позволяющая легко отменить изменения в вашем приложении. Это особенно полезно при возникновении проблем или когда необходимо вернуться к предыдущей версии приложения.
Требования
- Наличие эндпоинта
/healthв вашем приложении. - Наличие
curlв вашем контейнере (например, в Alpine он не установлен по умолчанию).
Шаги для отката
Предположим, у нас есть приложение на NodeJS с маршрутом healthcheck /api/health, возвращающим статус 200 и работающим на порту 3000.
- В вашем приложении необходимо иметь
PathилиHealth Routeдля достижения развертываний с нулевым простоем. Например, в случае приложения на NodeJS у вас может быть маршрут/api/health, возвращающий статус 200. - Перейдите во вкладку
Advanced, затем в Cluster Settings и откройтеSwarm Settings. - Доступно несколько опций, в данном случае мы сосредоточимся на
Health CheckиUpdate Config. - Вставьте этот код в поле healthcheck: Убедитесь, что API-маршрут существует в вашем приложении.
{
"Test": [
"CMD",
"curl",
"-f",
"http://localhost:3000/api/health"
],
"Interval": 30000000000,
"Timeout": 10000000000,
"StartPeriod": 30000000000,
"Retries": 3
}- Теперь в
Update Config:
Когда приложение получает нездоровый ответ от healthcheck, контейнер откатится к предыдущей версии.
Вставьте следующий код:
{
"Parallelism": 1,
"Delay": 10000000000,
"FailureAction": "rollback",
"Order": "start-first"
}Откат к определенной версии
Описанные выше шаги касались автоматического отката Docker Swarm. Начиная с версии v0.23.0, Skitflow также поддерживает ручные откаты к конкретным точкам развертывания, предоставляя больший контроль над версиями вашего приложения.
Включение функции отката
Чтобы начать сохранять снимки развертывания для откатов:
- Перейдите к вашему приложению.
- Откройте Deployments -> Rollback Settings.
- Включите опцию Rollback.
Как это работает
- Автоматические снимки: При каждом развертывании Skitflow создает точку отката, связанную с этим развертыванием.
- Ручной откат: Нажмите кнопку Rollback рядом с любым развертыванием для возврата к этой конкретной версии.
- Автоматическая очистка: При удалении старых развертываний их связанные снимки откатов и образы также удаляются для экономии места.
Выполнение отката
- Перейдите в раздел Deployments вашего приложения.
- Найдите версию развертывания, к которой хотите откатиться.
- Нажмите кнопку Rollback рядом с этим развертыванием.
- Подтвердите действие отката.
Включение откатов увеличит использование хранилища, так как сохраняются предыдущие версии вашего приложения. Учитывайте объем хранилища при включении этой функции.
Важно: Если вы вручную очищаете Docker-образы с помощью команд docker image prune или docker system prune, снимки откатов могут быть потеряны. Избегайте очистки Docker-образов, если хотите сохранить историю откатов.