Print this page

CI/CD. Современные концепции

05 October 2025

CI/CD: WTF это вообще и зачем оно тебе

CI/CD — это не просто модное словечко из DevOps-кругов. Это реально та штука, которая позволяет компаниям выкатывать код десятки раз в день без истерик и ночных релизов.


Что такое CI/CD простыми словами

CI (Continuous Integration) — это практика, когда разработчики часто сливают код в основную ветку, а автоматизированные тесты сразу проверяют, что всё не сломалось.

CD бывает двух видов:

  • Continuous Delivery — код автоматически собирается и проходит тесты, но выкатывается в прод после ручного “одобрения”.
  • Continuous Deployment — код уходит в прод сразу после прохождения пайплайна. Без человеческой кнопки
commit → тесты → сборка → staging → (review) → production

Зачем всё это вообще нужно

  • Быстрые релизы: не раз в месяц, а хоть каждый день.
  • Раннее обнаружение багов.
  • Устойчивость процессов: нет зависимости от “того самого сеньора, который знает как выкатить”.
  • Прозрачность: все стадии автоматизированы, понятно где упало.
  • Повышение безопасности: меньше ручных манипуляций = меньше дыр.

Основные блоки CI/CD пайплайна

  1. Build — сборка артефактов, контейнеров и т.д.
  2. Test — юнит, интеграционные, e2e, нагрузочные тесты.
  3. Code Analysis — линтеры, SAST, security-сканеры.
  4. Package & Cache — сохранение артефактов, зависимостей.
  5. Deploy — выкатывание на staging/prod.
  6. Monitoring & Rollback — следим за здоровьем, умеем быстро откатиться.

Современные практики

  • Параллельные job’ы — сборка и тестирование ускоряются.
  • Канареечные релизы и blue/green deployment — выкатываем фичу 10% пользователей, если всё ок — 100%.
  • Feature flags — код в проде, фича выключена → включаем по мере готовности.
  • GitOps + Kubernetes — инфраструктура и приложение управляются через Git.
  • Multi-cloud и serverless CI (GitHub Actions, GitLab Cloud Runners, Tekton).

️ Популярные инструменты

Категория Инструменты
CI/CD Core GitLab CI/CD, GitHub Actions, Jenkins X, CircleCI, Drone
GitOps ArgoCD, Flux
Infra as Code Ansible, Terraform, Puppet
Security SonarQube, Snyk, Trivy, Dependabot
Observability Prometheus, Grafana, Loki, Victoria Metrics, Zabbix

CI/CD и безопасность — теперь это must have

CI/CD пайплайн может стать точкой взлома, если забить на защиту. Минимум, что нужно:

  • Не хранить пароли в .gitlab-ci.yml → используй Vault / Secret Manager.
  • ‍Разделяй права: не все job’ы должны иметь доступ к продовым секретам.
  • Запускай job’ы в изолированных контейнерах.
  • Логируй и аудируй: кто и когда что запустил.
  • Готовь rollback: если выкладка упала, откатись автоматом.

Пример простого .gitlab-ci.yml

stages:
  - build
  - test
  - deploy

build:
  stage: build
  image: node:20
  script:
    - npm ci
    - npm run build
  artifacts:
    paths:
      - dist

test:
  stage: test
  image: node:20
  script:
    - npm test

deploy:
  stage: deploy
  image: alpine:latest
  script:
    - ./scripts/deploy.sh
  only:
    - main

Куда копать дальше

  • Автоматизация инфраструктуры (Terraform, GitOps)
  • ️Security-first pipelines
  • Observability и SLO/SLA мониторинг
  • Feature flags и progressive delivery
  • Multi-stage pipelines (dev → staging → prod)

Заключение

CI/CD — это не магия. Это набор практик, инструментов и культуры, который позволяет быстро и безопасно выкатывать изменения.
Если в 2015 CI/CD был “хардкор для энтузиастов”, то в 2025 — это must have даже для маленьких проектов.

Начни с базового пайплайна, потом постепенно добавляй безопасность, инфраструктуру и автоматизацию.
Главное — не бойся, это реально проще, чем кажется