GitLab Continuous Integration

Integrated CI to test, build and deploy your code

Download GitLab

What Are The Advantages?

  • Integrated: GitLab CI is part of GitLab. You can use it for free on
  • Easy to learn: See our Quick Start guide
  • Beautiful: Fully included in GitLab, GitLab CI offers the same great experience as GitLab. Familiar, easy to use and beautiful.
  • Scalable: Tests run distributed on separate machines of which you can add as many as you want
  • Faster results: Each build can be split in multiple jobs that run in parallel on multiple machines
  • Open source: CI is included with both the open source GitLab Community Edition and the proprietary GitLab Enterprise Edition


  • Multi-platform: You can execute builds on Unix, Windows and OSX.
  • Multi-language: Build scripts are command line driven and work with Java, PHP, Ruby, C and any other language.
  • Stable: Your builds run on a different machine than GitLab.
  • Parallel builds: GitLab CI splits builds over multiple machines, for fast execution.
  • Realtime logging: A link in the merge request takes you to the current build log that updates dynamically.
  • Continuous Delivery (CD): Continuous delivery and deployment are easy with multiple types of jobs, environmental variables and the dpl gem.

Fully integrated with GitLab

  • Fully integrated with GitLab.
  • Quick project setup: Add projects with a single click, all hooks are setup automatically via the GitLab API.
  • Merge request integration: See the status of each build within the Merge Request in GitLab.


GitLab CI is a part of GitLab, a web application with an API that stores its state in a database. It manages projects/builds and provides a nice user interface, besides all the features of GitLab.

GitLab Runner is an application which processes builds. It can be deployed separately and works with GitLab CI through an API.

In order to run tests, you need at least 1 GitLab instance and 1 GitLab Runner. One runner can run one or more jobs at the same time. Each project in GitLab CI can have one or multiple jobs. All the jobs for one commit run in parallel so your tests results are available sooner. These jobs can run in parallel on the same runner and/or on different runners. Runners and jobs can be labeled so that jobs run on runners that can process them (the right machine, OS and configuration). We recommend to not install runners the same instance as GitLab so that running rogue code and jobs can't affect the security of GitLab itself. GitLab CI is a part of GitLab.

GitLab Runner

To perform the actual build, you need to install GitLab Runner.


Tests can be run on many different platforms

Tests can be run on Unix, Windows, OSX, the JVM and more. The tests are performed with GitLab Runner, see that section for all the options.

GitLab CI itself is officially supported on

  • Ubuntu
  • Debian
  • CentOS
  • Red Hat Enterprise Linux
  • Scientific Linux
  • Oracle Linux

GitLab CI hardware requirements

  • 1GB of memory or more is recommended, 512MB works
  • 2 CPU cores or more are recommended, 1 CPU core works
  • 100MB of disk space