Перейти к содержимому

GitLab CI/CD

GitLab CI/CD — система конвейеров внутри GitLab. Конфигурация обычно хранится в .gitlab-ci.yml, а jobs выполняются на GitLab Runner.

Доступны GitLab SaaS и self-managed GitLab с shared, group или project runners. Это часть единой DevSecOps-платформы, поэтому состав возможностей зависит от редакции и плана.

  • pipelines, stages, jobs, rules, needs и parent-child pipelines;
  • Docker/Kubernetes и другие executors для runners;
  • artifacts, cache и registry;
  • environments, deployments и review apps;
  • protected/masked variables и внешние секреты;
  • OIDC и интеграции с облачными провайдерами;
  • security scans и проверки merge request в поддерживаемых редакциях.

Сложные include/rules требуют проверки итогового pipeline, чтобы не получить неожиданный набор jobs. Protected variables и runners не изолируют автоматически все небезопасные сценарии. Self-managed GitLab и runners требуют обновлений, ограничения привилегий и отдельной защиты для непроверенного кода.

Подходит командам, использующим GitLab как единый репозиторий и рабочий контур. Для GitHub рассмотрите GitHub Actions, для pull-согласования Kubernetes с Git — Argo CD.