Wiki
DevOps

CI/CD — что это простыми словами

CI (Continuous Integration) — автоматическая сборка и тесты при каждом git push. CD (Continuous Deployment) — автодеплой на прод после успешного CI.

CI (Continuous Integration) — практика, где каждое изменение в git автоматически проходит через: (1) checkout последнего коммита, (2) сборка проекта, (3) прогон unit-тестов, (4) линтеры, (5) генерация артефактов. Цель — быстрая обратная связь: если ваш коммит сломал сборку, вы узнаёте через 3-5 минут, а не через неделю на демо.

CD делится на: Continuous Delivery — артефакт готов к деплою, но кнопка «выкатить» нажимается вручную. Continuous Deployment — автоматический деплой на прод после успешного CI. Практика зрелых команд.

Популярные CI/CD-системы: GitHub Actions — интегрирован в GitHub, best-in-class UX. GitLab CI — интегрирован в GitLab, богатые возможности. Drone / Woodpecker — минималистичные open-source. Jenkins — старый гигант, до сих пор в enterprise. CircleCI, Travis CI — cloud-only.

На VPS-инфраструктуре типичный setup: GitLab на своём VPS + gitlab-runner на 1-3 VPS для job-выполнения. Наш /vps/for-gitlab тариф с 4 vCPU / 8 ГБ хватит на команду 10-30 разработчиков.

Частые вопросы

На каком тарифе развернуть CI-runner?
Для лёгких job — VPS-M (4/8). Для сборки Rust / больших билдов — VPS-L (4/16) или High-CPU для параллельных job.
GitLab CI или GitHub Actions?
Если у вас код на GitLab — GitLab CI. Если на GitHub — Actions. Смешивать не имеет смысла.