Непрерывная доставка полезна только тогда, когда ускорение релизов не покупается ценой скрытого операционного риска.
Глава связывает конвейеры поставки изменений, контроль версий, безопасное развёртывание и метрики DORA в одну дисциплину, где скорость выпуска проверяется обратной связью и способностью быстро откатиться.
В инженерных разговорах этот материал помогает обсуждать темп изменений, уверенность в релизе, радиус поражения развёртывания и цену ошибок внутри конвейера.
Практическая польза главы
Практика проектирования
Проектируйте путь изменения от коммита до промышленной среды: проверки, ручные подтверждения, откат и понятные сигналы готовности.
Качество решений
Оценивайте процесс поставки через частоту развёртываний, время поставки изменений, среднее время восстановления и долю неудачных изменений.
Аргументация на интервью
Показывайте, где конвейер даёт быстрый сигнал, где нужен контроль риска и как команда ограничивает влияние неудачного релиза.
Формулировка компромиссов
Явно обсуждайте баланс между скоростью релизов, глубиной автоматизации, доверием к тестам и стоимостью ручных проверок.
Источник
Книжный куб
Обзор основан на посте Alexander Polomodov.
Grokking Continuous Delivery (Грокаем Continuous Delivery)
Авторы: Christie Wilson
Издательство: Manning Publications
Объём: 424 страниц
Практическое введение в CI/CD от Christie Wilson: конвейеры поставки изменений, контроль версий, безопасное развёртывание и метрики DORA.
В этой главе рассматривается как дисциплина, которая связывает , , , проверочные сигналы и .
Главный тезис Wilson: скорость релизов сама по себе ничего не стоит. Без обратной связи, доверия к проверкам и команда просто быстрее доставляет риск пользователям — и платит за это инцидентами вместо ускорения.
Введение
Книга Christie Wilson из Google показывает непрерывную доставку как маршрут: от первых проверок до уверенного выпуска изменений, без рывков и героизма в последнюю ночь. Вступительное слово написали два известных инженера:
- Jez Humble — соавтор книг о непрерывной доставке, подходе DevOps и «Accelerate».
- Eric Brewer — автор теоремы CAP, участник разработки Google Spanner, VP Infrastructure и инженер со статусом fellow (почётный инженер) в Google.
Книга состоит из четырёх частей, тринадцати глав и двух приложений. Сильная сторона — почти реальные проблемы вымышленных компаний «Cat Picture», «Super Game Console» и «Ice Cream for All»: автор не рисует идеальный процесс с нуля, а показывает, как команда чинит уже работающий конвейер шаг за шагом.
Связанная глава
SRE Book
Раскрывает автоматизацию релизов через операционную надёжность.
Структура книги
Часть I: знакомство с непрерывной доставкой
- Глава 1: зачем нужна непрерывная доставка и как она меняет работу команды.
- Глава 2: базовый .
Часть II: как держать продукт готовым к выпуску
- Глава 3: как основа процесса.
- Глава 4: эффективный .
- Глава 5: что делать с .
- Глава 6: как ускорять медленный .
- Глава 7: как давать правильные сигналы в правильный момент.
Часть III: как сделать выпуск изменений простым
- Глава 8: почему удобная поставка начинается с контроля версий.
- Глава 9: как собирать продукт безопасно и надёжно.
- Глава 10: как развёртывать изменения уверенно.
Часть IV: проектирование CD
- Глава 11: стартовые наборы для команд, которые начинают с нуля.
- Глава 12: почему скрипты поставки тоже являются кодом.
- Глава 13: дизайн конвейера поставки изменений.
Ключевые принципы
Независимость от инструментов
Практики не привязаны к конкретным инструментам непрерывной интеграции и доставки (CI/CD): сначала идут принципы, а обзор возможностей инструментов вынесен отдельно. Так знания не устаревают вместе со сменой подрядчика или платформы.
Новые и существующие проекты
Подход одинаково работает и для , и для — а именно там, где уже есть пользователи, ограничения и накопленная сложность, а цена ошибки выпуска выше всего.
Метрики DORA
Качество поставки измеряют, а не оценивают на глаз: через , , среднее время восстановления и .
Контроль версий как источник истины
становится единым для кода, конфигурации, скриптов поставки и инфраструктурных изменений.
CI, CD и автоматическое развёртывание
| Практика | Описание | Что автоматизировано |
|---|---|---|
| (CI) | Регулярное слияние кода в общую ветку с автоматической сборкой и тестированием. | Сборка и тесты |
| (CD) | Код всегда готов к развёртыванию, но выпуск в целевую среду может требовать . | Сборка, тесты и промежуточное окружение |
| Каждое изменение после успешных проверок автоматически попадает в промышленную среду. | Полная автоматизация |
Интерактивная визуализация конвейера
Нажмите «Запустить», чтобы увидеть, как артефакт проходит этапы CI/CD-конвейера. Кнопка «Симулировать сбой» покажет, что происходит при падении тестов.
CI/CD-конвейер
Коммит
Код попадает в систему контроля версий
Сборка
Создание артефакта
Анализ кода
Статическая проверка качества
Тесты
Модульные и интеграционные проверки
Безопасность
Поиск уязвимостей
Проверочная среда
Пробное развёртывание
Выпуск
Доставка пользователям
Этапы конвейера:
Лучшие практики из книги
1. Правильные сигналы в правильное время
Порядок этапов — это компромисс между скоростью обратной связи и стоимостью проверки: быстрые проверки ставят в начало, медленные и дорогие — ближе к концу, чтобы не платить за них на каждом коммите.
2. Безопасное развёртывание
Автоматизация без страховки лишь ускоряет распространение сбоя. Поэтому в неё закладывают , и , чтобы цена ошибки оставалась ограниченной.
3. Скрипты — тоже код
Скрипты непрерывной интеграции и доставки (CI/CD) ломают выпуск так же, как обычный код, поэтому и относиться к ним стоит так же: с , тестами и версионированием наравне с приложением.
4. Борьба с нестабильными тестами
подрывают доверие к конвейеру: команда начинает перезапускать сборку вслепую. Такой тест нужно изолировать, чинить или удалять — но не игнорировать.
Для кого эта книга
Больше всего книга пригодится тем, кто только входит в инженерные процессы или помогает команде навести порядок в выпуске изменений. Она даёт общий язык для разговора о проверках, релизах, ответственности и обратной связи — до того, как команда набьёт эти шишки в промышленной среде, где исправление обходится заметно дороже.
P.S. На русском книга вышла в издательстве «Питер» под локализованным названием про непрерывную доставку и переведена достаточно аккуратно.
Связанные главы
- Release It! - Дополняет тему : канареечные запуски, быстрый откат и устойчивость при сбоях в промышленной среде.
- Site Reliability Engineering - Показывает, что происходит с поставкой после развёртывания: как удерживать надёжность и управлять рисками изменений в эксплуатации.
- Зачем нужны надёжность и инженерия надёжности сервисов - Даёт общую карту практик инженерии надёжности сервисов, где связывается с реагированием на инциденты и целевыми уровнями сервиса.
- GitOps - Показывает декларативный подход к поставке изменений и контроль через Git как .
- Infrastructure as Code - Связывает с управлением инфраструктурой как версионируемым кодом.
