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