Jenkins CI (deprecated) service

Note: In GitLab 8.3, Jenkins integration using the GitLab Hook Plugin was deprecated in favor of the GitLab Plugin. Please use documentation for the new Jenkins CI service.

Integration includes:

  • Trigger Jenkins build after push to repo
  • Show build status on Merge Request page

Requirements:

Jenkins

  1. Install GitLab Hook plugin
  2. Setup jenkins project

screen

GitLab

In GitLab, perform the following steps.

Read access to repository

Jenkins needs read access to the GitLab repository. We already specified a private key to use in Jenkins, now we need to add a public one to the GitLab project. For that case we will need a Deploy key. Read the documentation on how to setup a Deploy key.

Jenkins service

Now navigate to GitLab services page and activate Jenkins

screen

Done! Now when you push to GitLab - it will create a build for Jenkins. And also you will be able to see merge request build status with a link to the Jenkins build.

Multi-project Configuration

The GitLab Hook plugin in Jenkins supports the automatic creation of a project for each feature branch. After configuration GitLab will trigger feature branch builds and a corresponding project will be created in Jenkins.

Configure the GitLab Hook plugin in Jenkins. Go to 'Manage Jenkins' and then 'Configure System'. Find the 'GitLab Web Hook' section and configure as shown below.