CI/CD (Непрерывная интеграция и доставка)

CI/CD — это автоматизация процессов сборки, тестирования и развертывания приложений.

Components: 1. Source Control (Git). 2. Build Server (CI). 3. Artifact Registry (Docker Hub, Artifactory). 4. Deployment Orchestrator (Kubernetes, AWS). Stages: Commit -> Build -> Test -> Stage -> Production. Concepts: Triggers, Runners, Secrets, Parallelism.

        graph LR
  Center["CI/CD (Непрерывная интеграция и доставка)"]:::main
  classDef main fill:#7c3aed,stroke:#8b5cf6,stroke-width:2px,color:white,font-weight:bold,rx:5,ry:5;
  classDef pre fill:#0f172a,stroke:#3b82f6,color:#94a3b8,rx:5,ry:5;
  classDef child fill:#0f172a,stroke:#10b981,color:#94a3b8,rx:5,ry:5;
  classDef related fill:#0f172a,stroke:#8b5cf6,stroke-dasharray: 5 5,color:#94a3b8,rx:5,ry:5;
  linkStyle default stroke:#4b5563,stroke-width:2px;

      

🧒 Простыми словами

Представь конвейер на заводе. Как только деталь готова, она автоматически проходит через рентген и весы (тесты), и если всё в порядке — сама прыгает в коробку и уезжает к покупателю. Инженеру не нужно каждый раз бегать и проверять всё руками.

🤓 Expert Deep Dive

Для реализации CI/CD критически важны 'артефакты' — неизменяемые версии приложения (например, Docker-образы). Это гарантирует, что то, что тестировалось на этапе CI, идентично тому, что будет работать в продакшене. Использование инструментов вроде Terraform или Ansible позволяет также автоматизировать подготовку инфраструктуры (IaC — Infrastructure as Code) прямо внутри пайплайна, делая окружение полностью воспроизводимым.

📚 Источники