Непрерывная доставка и развёртывание
Различайте непрерывную доставку (CD) и непрерывное развёртывание, а также понимайте их преимущества для быстрых выпусков.
«Непрерывная доставка и развёртывание» — бесплатный урок Docker & DevOps Fundamentals на CoddyKit. Это урок 3 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Docker & DevOps Fundamentals, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Docker & DevOps Fundamentals содержит 4 уроков всего.
За пределами интеграции: готовность к выпуску
На прошлом уроке мы рассмотрели непрерывную интеграцию (CI), при которой изменения кода часто объединяются и тестируются. Но что происходит после интеграции и тестирования кода?
Здесь на сцену выходят непрерывная поставка и непрерывное развёртывание. Они крайне важны для быстрой и надёжной передачи программного обеспечения пользователям.

Что такое непрерывная поставка (CD)
Непрерывная поставка (CD) — это практика разработки программного обеспечения, при которой изменения кода автоматически собираются, тестируются и подготавливаются к выпуску в рабочую среду.
- Основная идея заключается в том, что программное обеспечение всегда находится в состоянии, готовом к развёртыванию.
- Однако финальное развёртывание в рабочую среду выполняется вручную по решению человека.
Рабочий процесс CD: готовность к выпуску
Представьте хорошо отлаженную машину, которая готовит продукт, но перед отправкой с фабрики человек всё ещё даёт окончательное разрешение.
- Фиксация кода: Разработчик отправляет код.
- Конвейер непрерывной интеграции: Код собирается, проходит модульные тесты и интегрируется.
- Автоматизированные тесты: Дополнительные тесты (интеграционные и сквозные) запускаются автоматически.
- Создание артефакта: Создаётся пакет, готовый к развёртыванию (например, образ Docker).
- Развёртывание в тестовую среду: Пакет автоматически развёртывается в тестовой среде для финальных проверок.
- Ручной выпуск: Участник команды вручную подтверждает и запускает развёртывание в рабочую среду.
Преимущества непрерывной поставки
CD даёт процессу разработки значительные преимущества:
- Снижение рисков: Каждое изменение небольшое, поэтому проблемы проще находить и исправлять.
- Более быстрая обратная связь: Команды быстрее получают информацию об изменениях, что помогает повышать качество.
- Более высокое качество: Строгое автоматизированное тестирование уменьшает количество ошибок до ручного подтверждения.
- Ускорение выхода на рынок: Программное обеспечение всегда готово к выпуску, что ускоряет релизы.
Что такое непрерывное развёртывание (CDep)
Непрерывное развёртывание (CDep) развивает идею непрерывной поставки. Это означает, что каждое изменение, успешно прошедшее все автоматизированные тесты, автоматически выпускается в рабочую среду.
- Перед развёртыванием для пользователей отсутствует этап ручного подтверждения.
- Для этого требуется исключительно высокий уровень доверия к автоматизированному тестированию и мониторингу.
Рабочий процесс CDep: полная автоматизация
Представьте полностью автономную фабрику, где продукты собираются, тестируются и сразу отправляются без участия человека.
- Фиксация кода: Разработчик отправляет код.
- Конвейер непрерывной интеграции: Код собирается, проходит модульные тесты и интегрируется.
- Автоматизированные тесты: Все интеграционные, сквозные тесты и тесты производительности запускаются автоматически.
- Создание артефакта: Создаётся пакет, готовый к развёртыванию.
- Развёртывание в тестовую среду: Пакет автоматически развёртывается в тестовой среде.
- Автоматизированное развёртывание в рабочую среду: Если все тесты пройдены, пакет автоматически развёртывается в рабочей среде.
Преимущества непрерывного развёртывания
CDep максимально ускоряет выпуск и получение обратной связи:
- Сверхбыстрые выпуски: Новые функции и исправления ошибок доходят до пользователей почти мгновенно.
- Мгновенная обратная связь: Данные реального использования и отчёты об ошибках поступают быстрее.
- Настоящая гибкость: Команды могут с беспрецедентной скоростью вносить итеративные изменения и реагировать на изменения рынка.
- Снижение накладных расходов: Устраняются затраты времени и усилий на координацию ручных выпусков.
CD и CDep: ключевое различие
Главное различие между непрерывной поставкой и непрерывным развёртыванием заключается в том, кто или что принимает решение о развёртывании в рабочей среде:
- Непрерывная поставка: Автоматизация обеспечивает постоянную готовность программного обеспечения к выпуску, но человек решает, когда нажать кнопку запуска развёртывания в рабочей среде.
- Непрерывное развёртывание: Автоматизация выполняет всё; программное обеспечение автоматически развёртывается в рабочей среде сразу после успешного прохождения всех тестов. Для финального выпуска вмешательство человека не требуется.
Выбор подхода: CD или CDep
Выбор между CD и CDep зависит от зрелости Вашей команды, уверенности в автоматизации и допустимого уровня риска.
- Начните с CD: Это более безопасная отправная точка, позволяющая укрепить доверие к Вашему конвейеру.
- Переходите к CDep: Только когда Ваши стратегии автоматизированного тестирования, мониторинга и отката станут исключительно надёжными.
- Учитывайте контекст: В отраслях с жёстким регулированием (например, в финансах и здравоохранении) часто предпочитают CD из-за требований к соблюдению нормативов.
Проверьте свои знания
Какое утверждение лучше всего описывает основное различие между непрерывной поставкой и непрерывным развёртыванием?
Повторение: CD и CDep
Теперь Вы узнали о важнейшем различии между непрерывной поставкой и непрерывным развёртыванием!
- Непрерывная поставка (CD): Программное обеспечение всегда готово к выпуску, но финальное развёртывание в рабочей среде запускает человек.
- Непрерывное развёртывание (CDep): Программное обеспечение автоматически выпускается в рабочую среду сразу после успешного прохождения всех автоматизированных тестов.
Эти практики, основанные на непрерывной интеграции, имеют фундаментальное значение для быстрых и надёжных выпусков программного обеспечения в культуре DevOps.
Часто задаваемые вопросы
Урок «Непрерывная доставка и развёртывание» бесплатный?
Да — полный текст урока «Непрерывная доставка и развёртывание» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Docker & DevOps Fundamentals, подпишись на CoddyKit PRO. Курс Docker & DevOps Fundamentals содержит 4 уроков всего.
Чему я научусь в уроке «Непрерывная доставка и развёртывание»?
Различайте непрерывную доставку (CD) и непрерывное развёртывание, а также понимайте их преимущества для быстрых выпусков. Ты практикуешь Docker & DevOps Fundamentals с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.
Нужен ли мне опыт, чтобы начать Docker & DevOps Fundamentals?
Предыдущий опыт не требуется. Docker & DevOps Fundamentals на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 3 из 4.
Сколько времени занимает урок «Непрерывная доставка и развёртывание»?
Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.
Можно ли писать и запускать код в этом уроке Docker & DevOps Fundamentals?
Да. Каждый урок Docker & DevOps Fundamentals включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.
Все уроки этого курса
- Мышление DevOps
- Объяснение непрерывной интеграции
- Непрерывная доставка и развёртывание
- Основы инфраструктуры как кода