GitLab Continuous Integration

Let GitLab CI test, build, deploy your code

Download GitLab Sign in to ci.gitlab.com

What Are The Advantages?

  • Easy to set up since it is included in Omnibus packages of GitLab or use it for free on ci.gitlab.com
  • Beautiful interface with a clear menu structure
  • Performant and stable, as tests run distributed on separate machines
  • Receive test results faster with each commit running in parallel on multiple jobs
  • Free to use and completely open source all CI code is MIT licensed

Features

  • Single sign-on: Use the same login and password as on your GitLab instance.
  • Quick project setup: Add your project in a single click, all hooks are setup automatically via the GitLab API.
  • Elegant and flexible: Build scripts are written in bash, test projects in any programming language.
  • Merge request integration: See the status of the test within the Merge Request in GitLab.
  • Distributed by default: GitLab CI and build runners can run on separate machines providing more stability.
  • Realtime logging: A link in the merge request takes you to the current build log that updates dynamically.
  • Parallel builds: Split a build over multiple runners so it executes quickly.

Fully integrated with GitLab

  • GitLab CI is fully integrated with GitLab.
  • No need for separate authentication and all your projects are immediately available.

Architecture

GitLab CI is a web application with an API that stores its state in a database. It manages projects/builds and provides a nice user interface. It uses the GitLab application API to authenticate its users.

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 CI instance and 1 GitLab Runner. However, for running several builds at the same time, you may want to set up more than one GitLab Runner. Multiple runners will also allow you to run the tests for one commit in parallel so it finishes sooner. Runners can be installed on the same machine as GitLab CI or on other machines; we recommend to install them on other machines.



Requirements

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

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

Installation