Разница между непрерывной интеграцией (CI) и непрерывной поставкой (CD) в контексте CI/CD заключается в том, что CI фокусируется на изменениях кода, а CD — на его развёртывании. 2
Непрерывная интеграция — это методология разработки, при которой в код вносятся небольшие изменения с частыми коммитами. 3 Разработчики при каждой возможности выполняют слияние своих изменений с основной веткой. 5 Изменения, внесённые разработчиком, проверяются путём создания сборки и запуска автоматических тестов на этой сборке. 5 Цель CI — обеспечить последовательный и автоматизированный способ сборки, упаковки и тестирования приложений. 3
Непрерывная поставка — это автоматическое развёртывание приложения в целевое окружение. 3 Обычно разработчики работают как с продакшн-окружением, так и со средами разработки и тестирования. 3 Непрерывная поставка является продолжением непрерывной интеграции, поскольку при ней происходит автоматическое развёртывание всех изменений кода в тестовой и (или) рабочей среде после этапа сборки. 5 Это значит, что автоматизирован не только процесс тестирования, но и процесс выпуска продукта, поэтому приложение можно развернуть в любое время одним нажатием. 5
Таким образом, CI фокусируется на изменениях кода, а CD — на его развёртывании, при этом оба подхода необходимы для эффективной обратной связи и достижения общей цели — быстрой обратной связи и повышения качества. 2