← CI/CD
10 мин · просто · Урок 3 из 7

Delivery vs Deployment

Две расшифровки CD: непрерывная доставка (релиз кнопкой) и непрерывное развёртывание (автоматом в прод).

Одна аббревиатура, два смысла

CD расшифровывают двумя способами, и на собеседовании любят спросить разницу:

Разница ровно в одном: кто нажимает кнопку выкатки в прод, человек или автоматика.

Общая часть: всё, что до прода

И Delivery, и Deployment строятся поверх CI и делают одно и то же вплоть до продакшена:

коммит -> CI (сборка + тесты) -> упаковка артефакта
       -> деплой на staging -> приёмочные тесты
       -> [готово к продакшену]

На этом этапе у тебя есть проверенный артефакт, который можно выкатить в любой момент. Дальше пути расходятся.

Continuous Delivery: релиз — решение человека

Артефакт готов и протестирован, но в прод он едет, когда человек нажмёт кнопку. Автоматизировано всё, кроме самого финального решения "выкатываем".

Когда так делают:

Суть: технически можно выкатить в любую секунду, но жмёт человек.

Continuous Deployment: кнопки нет

То же самое, но финальный шаг тоже автоматический. Прошёл все проверки и сам уехал в прод, без ручного апрува.

Когда так делают:

Суть: человек вообще не участвует в выкатке. Смержил MR, и через несколько минут это уже в проде.

Мнемоника

Delivery — можем выкатить в любой момент (кнопкой). Deployment — выкатываемся сами, без кнопки.

Continuous Deployment — это Continuous Delivery без последнего ручного шага. Поэтому Deployment "сильнее": он требует Delivery как фундамент плюс достаточно доверия к автоматике.

Что для этого нужно

Чтобы безопасно выкатывать автоматически (или часто кнопкой), команде нужны страховки:

Без этих страховок Continuous Deployment превращается в "автоматически ломаем прод". Поэтому многие команды осознанно остаются на Delivery.

Что важно запомнить

CD = либо Delivery, либо Deployment. Разница в том, кто жмёт кнопку выката.

Delivery: артефакт всегда готов, релиз в прод запускает человек.

Deployment: прошло проверки -> автоматически в прод, без ручного шага.

Deployment = Delivery без последней кнопки + доверие к тестам, откату и мониторингу.

Безопасный выкат держится на откате, мониторинге и стратегиях blue-green / canary.

В следующем уроке разбираем анатомию пайплайна: stages, jobs, runners, артефакты, секреты.

Дрилл · вопросы как на собесе

Проверь себя без подсказок

Сформулируй ответ вслух или письменно, потом раскрой и честно отметь: знал или нет.

01

Что нужно, чтобы безопасно делать Continuous Deployment?

CICD-021
02

Чем Continuous Delivery отличается от Continuous Deployment?

CICD-020
03

Что такое blue-green и canary деплой?

CICD-022

Прошли материал до конца? Отметьте урок пройденным.