Что такое CI/CD?
CI/CD — это практика автоматизации этапов разработки, которая помогает командам выпускать качественный продукт быстрее и надёжнее. Она состоит из двух частей:
- CI (Continuous Integration / Непрерывная Интеграция): Разработчики регулярно сливают свои изменения в общую ветку. После каждого слияния код автоматически собирается и тестируется (юнит-тестами). Это помогает находить ошибки на ранней стадии.
- CD (Continuous Delivery/Deployment / Непрерывная Доставка или Развёртывание): Если CI-этап прошёл успешно, готовое приложение автоматически доставляется на следующие окружения (например, тестовое).
Delivery vs Deployment: в чем разница?
Ключевое отличие — в последнем шаге.
Continuous Delivery (Доставка) | Continuous Deployment (Развертывание) |
Все этапы до продакшена автоматизированы. Финальное развертывание на боевой сервер происходит вручную, по нажатию кнопки. | Все этапы полностью автоматизированы. Если все тесты прошли успешно, код автоматически попадает на продакшен без участия человека. |
Local
Компьютер разработчика или тестировщика.
Dev
"Песочница" для разработчиков.
QA / Test
Основное окружение для тестирования.
Stage / Pre-Prod
Стабильная версия, копия Prod.
Production
Боевое окружение для пользователей.