Непрерывная интеграция (CI), непрерывная доставка (CD) и непрерывное развёртывание (CD) — DevOps-подход к разработке и апгрейду ПО, подразумевающий непрерывное конвейерное тестирование, сборку, доставку и развёртывание обновлений. Возможно как отдельное применение компонентов этого подхода (CI или CI + CD), так и их последовательное использование в рамках единого процесса (CI + CD + CD).
Непрерывная интеграция (CI)
CI — это метод разработки программного обеспечения, при котором изменения кода постоянно интегрируются в репозиторий. Далее интеграция автоматически собирается и тестируется, что помогает обнаружить и устранить конфликты и ошибки. CI улучшает качество и стабильность ПО и позволяет ускорить цикл выпуска.
CI обычно реализуется с помощью инструмента CI/CD (Continuous Integration/Continuous Deployment), который автоматизирует процесс сборки, тестирования и развертывания. Автоматизируя эти задачи, CI/CD помогает сократить количество ошибок, допускаемых вручную и повысить эффективность, позволяя командам сосредоточиться на разработке новых функций и улучшений.
Непрерывная доставка (CD)
Непрерывная доставка (CD) — CI + CD. Следующий после CI уровень. Теперь новая версия не только создаётся и тестируется при каждом изменении кода, регистрируемом в репозитории, но и может быть оперативно запущена по одному нажатию кнопки развёртывания. Однако запуск развёртывания всё ещё происходит вручную ту самую кнопку всё же надо кому-то нажать. Этот метод позволяет выпускать изменения небольшими партиями, которые легко изменить или устранить в случае необходимости.
Непрерывное развёртывание (CD)
Непрерывное развёртывание (CD) — CI + CD + CD. После автоматизации релиза остаётся один ручной этап: одобрение и запуск развёртывания в продакшен (злосчастная кнопка). Практика непрерывного развёртывания упраздняет и это, не требуя непосредственного утверждения со стороны разработчика. Все изменения развёртываются автоматически.