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 разработчиков.