Что такое CD

CD в контексте разработки программного обеспечения может иметь несколько значений, наиболее распространёнными из которых являются "Continuous Delivery" и "Continuous Deployment". Оба эти термина относятся к практикам автоматизации процессов в рамках непрерывной интеграции и доставки (CI/CD) ПО.

Continuous Delivery (Непрерывная доставка)

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

Continuous Deployment (Непрерывное развёртывание)

Это шаг вперёд от Continuous Delivery, при котором изменения в коде после тестирования автоматически разворачиваются в продакшн-среде. Это означает, что каждое успешно протестированное изменение немедленно делается доступным для конечных пользователей, что минимизирует время между написанием кода и его использованием в живой среде. Continuous Deployment требует высокого уровня автоматизации тестирования и достаточно надёжной инфраструктуры для обеспечения качества и стабильности продукта.

Основные различия

  • Continuous Delivery подразумевает, что процесс доставки кода до продакшн-среды автоматизирован, и новый релиз может быть выполнен в любой момент вручную с минимальными усилиями.
  • Continuous Deployment идёт дальше, автоматизируя не только процесс подготовки релиза, но и его непосредственное развёртывание в продакшн, делая выпуски новых версий ещё более быстрыми и частыми.

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

March 24, 2024, easyoffer