May 6, 2014 - Dmitriy Zaporozhets

GitLab CI 5.0 released

Hi everyone!

As you know GitLab CI is a continuous integration server. It integrates with your GitLab installation and runs tests for your projects.

Today we release a new version of GitLab CI.

screenshot

Why version 5?

You may know that GitLab CI contains 2 components: Coordinator (a web application) and Runner. We are releasing a new version of GitLab CI because of important changes to GitLab CI Runner.

Runner is the component that runs your builds. In this release we have changed the way a build is served. Before this release, each line in the build script was executed in a separate process. That meant that a command such as cd or an ENV variable was not available on the next line.

With this release, Runner will concatenate all lines in the build script into one file and execute that. This means that if you change the working directory or environment in one line, it will affect the following lines as well.

screenshot

The former releases had some other problems as well:

  • Aborting running tests from the gitlab-ci didn't work (it marked the job as failed, but didn't kill the build)
  • The runner didn't properly handle crashing build scripts (it considered the build seemed to continue running endlessly)

With this release, Runner creates a single temporary bash script which contains all the commands the build needs. The script itself is then exectued as a child process in its own session (process group) by the runner. This way we can ensure that killing the script also kills all its child processes.

We would like to thank Corin Langosch for contributing these improvements.

Webhooks

In order to build some services based on GitLab CI you may need hooks that send data when the build finishes. GitLab already has such hooks, but up until now, GitLab CI did not. With GitLab CI version 5, we have added webhook functionality. We thank Võ Anh Duy for help with this feature.

screenshot

Screenshots

We've also changed the colors a bit for a fresher look. See screenshots below:

screenshot

screenshot

Update process

If you already use GitLab CI you need to follow our Update guide for Coordinator and update all your Runners to version 5. You can find the Runner update guide here. Also check the build scripts of your projects to make sure they are compatible with the new behavior.

New setup

You can setup new GitLab CI instance using installation guide

Support

If you are looking for paid support for GitLab CI, please email us.

For the latest and most detailed news follow @gitlab on Twitter. Future blog posts suggestions.

Install GitLab in 2 minutes

With Ubuntu, Debian, CentOS and Raspbian packages or from source

Install GitLab Now

Try GitLab Enterprise Edition risk-free for 30 days.

No credit card required. Have questions? Contact us.