Summary
GitLab CI is GitLab's built-in CI/CD system where pipelines are defined as YAML in a .gitlab-ci.yml file, enabling automated build, test, and deployment workflows tightly integrated with the GitLab platform.
What is GitLab CI?
GitLab CI is the CI/CD component of the GitLab DevSecOps platform. Pipelines are configured via a .gitlab-ci.yml file at the root of the repository. Each pipeline consists of stages (e.g., build, test, deploy) and jobs that run on GitLab Runners — lightweight agents that can be hosted by GitLab or self-hosted on any infrastructure.
GitLab CI supports advanced features such as directed acyclic graph (DAG) pipelines for parallel execution, merge request pipelines for isolated testing, parent-child pipelines for monorepos, and environments for deployment tracking. The integrated container registry and package registry make it a cohesive platform for the full software delivery lifecycle.
GitLab CI can be used both with the SaaS version of GitLab and with self-managed GitLab instances, which is particularly common in enterprises with strict data sovereignty requirements.
Why is GitLab CI relevant?
- All-in-one platform: Source control, CI/CD, security scanning, and container registry in a single tool
- Self-managed option: Full pipeline capability on-premises satisfies strict compliance and data residency requirements
- DevSecOps integration: Security scanning (SAST, DAST, dependency scanning) is built into the pipeline natively