Что такое CI/CD
- CI (Continuous Integration) — автоматическая сборка и тесты при каждом коммите/пуше. Цель: быстро находить поломки и держать ветку в рабочем состоянии.
- CD (Continuous Delivery / Deployment) — автоматическая доставка артефактов в окружения (тест, стейдж, прод). Delivery = «готово к деплою»; Deployment = «деплой в прод тоже автоматический».
Этапы типичного пайплайна
Ключевые практики
- Пайплайн как код — конфиг в репозитории (YAML в GitHub Actions, GitLab CI, Jenkinsfile).
- Идемпотентность — повторный прогон даёт тот же результат.
- Секреты — не в логах и не в коде; использовать секреты CI (GitHub Secrets, Vault и т.д.).
- Быстрый фидбек — короткие этапы, кэш зависимостей, параллельные джобы где возможно.
GitHub Actions
Пайплайны в репозитории GitHub.
GitLab CI
CI/CD в GitLab: .gitlab-ci.yml.
Jenkins
Самодоступный сервер сборок и деплоя.
Что добавить сюда
- Схема своих пайплайнов (какие этапы для какого репо)
- Критерии «готовности к деплою» (тесты, ревью, окружения)
- Ссылки на примеры и best practices