GitLab CI logo
CI/CD and GitOps

GitLab CI

CI/CD built into GitLab, cloud or self-managed. GitLab CI/CD is the pipeline system built into GitLab, configured with a .gitlab-ci.yml file in each repository. Jobs run on GitLab runners, which can be hosted by GitLab or run on your own machines or Kubernetes. GitLab can be used as a SaaS service or self-managed on your own infrastructure.

When it is the right choice

  • Your code is on GitLab or you need a self-hosted Git platform
  • You want source control, CI/CD, registry and issue tracking in one product
  • You need runners inside a private network
  • If your code is on GitHub, moving to GitLab only for CI is rarely worth it

How we use it

  • Design pipelines with stages for test, security scanning, build and deploy
  • Run autoscaling runners on Kubernetes with isolated build environments
  • Deploy infrastructure with Terraform from merge requests with plan output for review
  • Track pipeline duration and failure rates and fix the slowest steps
Works well with

Often used together

Questions

GitLab CI: frequently asked

GitLab.com or self-managed GitLab?

GitLab.com removes maintenance work. Self-managed suits strict data or network requirements but needs upgrades, backups and monitoring.

How do we speed up slow pipelines?

Cache dependencies, run jobs in parallel, only run what changed, and use faster runners. We measure first so effort goes to the slowest steps.

Running GitLab CI, or deciding whether to? Tell us what you have; the first consultation is free.

Let's talk »