Skitflow

Откаты

Узнайте, как откатить ваше приложение в Skitflow.

Откаты — это мощная функция, позволяющая легко отменить изменения в вашем приложении. Это особенно полезно при возникновении проблем или когда необходимо вернуться к предыдущей версии приложения.

Требования

  1. Наличие эндпоинта /health в вашем приложении.
  2. Наличие curl в вашем контейнере (например, в Alpine он не установлен по умолчанию).

Шаги для отката

Предположим, у нас есть приложение на NodeJS с маршрутом healthcheck /api/health, возвращающим статус 200 и работающим на порту 3000.

  1. В вашем приложении необходимо иметь Path или Health Route для достижения развертываний с нулевым простоем. Например, в случае приложения на NodeJS у вас может быть маршрут /api/health, возвращающий статус 200.
  2. Перейдите во вкладку Advanced, затем в Cluster Settings и откройте Swarm Settings.
  3. Доступно несколько опций, в данном случае мы сосредоточимся на Health Check и Update Config.
  4. Вставьте этот код в поле healthcheck: Убедитесь, что API-маршрут существует в вашем приложении.
{
  "Test": [
    "CMD",
    "curl",
    "-f",
    "http://localhost:3000/api/health"
  ],
  "Interval": 30000000000,
  "Timeout": 10000000000,
  "StartPeriod": 30000000000,
  "Retries": 3
}
  1. Теперь в Update Config:

Когда приложение получает нездоровый ответ от healthcheck, контейнер откатится к предыдущей версии.

Вставьте следующий код:

{
  "Parallelism": 1,
  "Delay": 10000000000,
  "FailureAction": "rollback",
  "Order": "start-first"
}

Откат к определенной версии

Описанные выше шаги касались автоматического отката Docker Swarm. Начиная с версии v0.23.0, Skitflow также поддерживает ручные откаты к конкретным точкам развертывания, предоставляя больший контроль над версиями вашего приложения.

Включение функции отката

Чтобы начать сохранять снимки развертывания для откатов:

  1. Перейдите к вашему приложению.
  2. Откройте Deployments -> Rollback Settings.
  3. Включите опцию Rollback.

Как это работает

  • Автоматические снимки: При каждом развертывании Skitflow создает точку отката, связанную с этим развертыванием.
  • Ручной откат: Нажмите кнопку Rollback рядом с любым развертыванием для возврата к этой конкретной версии.
  • Автоматическая очистка: При удалении старых развертываний их связанные снимки откатов и образы также удаляются для экономии места.

Выполнение отката

  1. Перейдите в раздел Deployments вашего приложения.
  2. Найдите версию развертывания, к которой хотите откатиться.
  3. Нажмите кнопку Rollback рядом с этим развертыванием.
  4. Подтвердите действие отката.

Включение откатов увеличит использование хранилища, так как сохраняются предыдущие версии вашего приложения. Учитывайте объем хранилища при включении этой функции.

Важно: Если вы вручную очищаете Docker-образы с помощью команд docker image prune или docker system prune, снимки откатов могут быть потеряны. Избегайте очистки Docker-образов, если хотите сохранить историю откатов.

On this page