GitLab CI

CI/CD & GitOps intermediate

GitLab CI is GitLab's integrated continuous integration and delivery platform that defines pipelines as code within a .gitlab-ci.yml file in the repository.

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

We are here for you

You are interested in our courses or you simply have a question that needs answering? You can contact us at anytime! We will do our best to answer all your questions.

Contact us