> For the complete documentation index, see [llms.txt](https://kaze.gitbook.io/qa-theory/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://kaze.gitbook.io/qa-theory/ci/chto-takoe-ci-cd-kakie-plyusy-i-minusy-etogo-podkhoda.md).

# Что такое CI/CD? Какие плюсы и минусы этого подхода?

**CI/CD** — это практика автоматизации разработки и доставки программного обеспечения. Она состоит из двух частей:

***

#### **1. CI (Continuous Integration — непрерывная интеграция)**

* Разработчики **часто объединяют (мерджат) изменения в основную ветку**.
* Каждое изменение автоматически проверяется:
  * сборка проекта,
  * запуск юнит-тестов,
  * статический анализ кода.
* Цель: **раннее выявление ошибок** и поддержание стабильной версии кода.

***

#### **2. CD (Continuous Delivery / Continuous Deployment — непрерывная доставка / развертывание)**

* **Continuous Delivery:** подготовка к релизу автоматически, но деплой на продакшен выполняется вручную.
* **Continuous Deployment:** изменения автоматически доставляются на продакшен после успешного прохождения всех тестов.

**Цель:** быстро и безопасно доставлять новые функции пользователям.

***

#### **Плюсы CI/CD**

1. **Быстрое обнаружение ошибок**
   * Проблемы выявляются сразу после коммита.
2. **Автоматизация рутинных задач**
   * Сборка, тесты, деплой проходят без ручного вмешательства.
3. **Стабильная кодовая база**
   * Основная ветка всегда рабочая.
4. **Быстрое внедрение новых функций**
   * Меньше времени между разработкой и доставкой пользователям.
5. **Прозрачность и отслеживаемость**
   * Логи сборки, тестов и деплоя доступны команде.

***

#### **Минусы CI/CD**

1. **Сложная настройка**
   * Требуется инфраструктура, пайплайны, тесты и деплой скрипты.
2. **Зависимость от автоматизации**
   * Ошибки в пайплайне могут блокировать разработку.
3. **Необходимость качественных тестов**
   * Без достаточного покрытия автоматические деплои могут привести к релизам с багами.
4. **Дополнительные ресурсы**
   * Серверы CI/CD, контейнеризация, мониторинг — всё это требует времени и денег.
