Выбор ответа Middle CI/CD обновлено

Быстрый откат релиза

Вопрос

После релиза выросла доля ошибок. Пайплайн собирает Docker-образ с тегом по хешу коммита и деплоит его. Как откатиться быстрее и надёжнее всего?

Попробуйте сами

Выберите вариант, и откроется разбор.

Показать ответ и разбор

Коротко

Правильный ответ: Передеплоить предыдущий образ по его тегу: он уже собран и проверен. Неизменяемые артефакты с уникальными тегами делают откат простым: предыдущий образ уже лежит в реестре и работал в проде.

Варианты ответа

  1. Сделать git revert, дождаться полной сборки и тестов нового образа
  2. Передеплоить предыдущий образ по его тегу: он уже собран и проверенправильный ответ
  3. Зайти на сервер и поправить код прямо в контейнере
  4. Удалить новый образ из реестра, и откат случится сам

Разбор

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

  • Revert с полной пересборкой занимает минуты, а иногда и десятки минут.
  • Правки внутри контейнера пропадут при перезапуске и не попадут в историю.
  • Удаление образа из реестра не меняет запущенные контейнеры.

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.

Термины по теме