GitLab Continuous Integration (GitLab CI)

CI/CD pipeline graph

The benefits of Continuous Integration are huge when automation plays an integral part of your workflow. GitLab comes with built-in Continuous Integration, Continuous Deployment, and Continuous Delivery support to build, test, and deploy your application.

Here's some info we've gathered to get you started.

Getting started

The first steps towards your GitLab CI journey.

Reference guides

Once you get familiar with the getting started guides, you'll find yourself digging into specific reference guides.

  • .gitlab-ci.yml reference - Learn all about the ins and outs of .gitlab-ci.yml definitions
  • CI Variables - Learn how to use variables defined in your .gitlab-ci.yml or secured ones defined in your project's settings
  • The permissions model - Learn about the access levels a user can have for performing certain CI actions

GitLab CI + Docker

Leverage the power of Docker to run your CI pipelines.

Advanced use

Once you get familiar with the basics of GitLab CI, it's time to dive in and learn how to leverage its potential even more.

Review Apps

GitLab CI for GitLab Pages

See the topic on GitLab Pages.

Special configuration

You can change the default behavior of GitLab CI in your whole GitLab instance as well as in each project.


Note: A collection of .gitlab-ci.yml files is maintained at the GitLab CI Yml project. If your favorite programming language or framework is missing we would love your help by sending a merge request with a .gitlab-ci.yml.

Here is an collection of tutorials and guides on setting up your CI pipeline.


Why GitLab CI?

Breaking changes