Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

GitLab and Jenkins integration

Tags:

jenkins

gitlab

I've read the differences between Gitlab Community and Enterprise in this page: https://about.gitlab.com/features/

Based on that page I understand the integration with Jenkins is only available in the enterprise version. However, I've seen that using web hooks I can trigger builds in Jenkins when a push happens in Gitlab.

So my question is which is the difference between community and enterprise regarding the integration with jenkins?

like image 462
telle Avatar asked Feb 04 '15 17:02

telle


People also ask

Can Jenkins be integrated with GitLab?

Easily and quickly configurable: Jenkins is easily integrated with GitLab Enterprise Edition, right from your project's integrations settings. Once you've enabled the service to configure GitLab's authentication with your Jenkins server, and Jenkins knows how to interact with GitLab, it's ready to use, out-of-the-box.

How does Jenkins pipeline connect to GitLab?

In Jenkins, go to Manage Jenkins → Configure System and scroll down to the Gitlab section. Enter in a name for the connection, the URL to your GitLab instance, and then next to Credentials, click Add → Jenkins. This is where you will add your GitLab token from Step 2. Next to Kind, select GitLab API Token.

Why use Jenkins over GitLab?

Parallel Execution By allowing you to concurrently run multiple builds across multiple virtual machines, Jenkins makes it easy for developers to continuously and quickly test their code. Gitlab also facilitates parallel execution. It clones the job and runs it in parallel in the background.


2 Answers

On the merge request page, there is a state widget that shows the status of tests for that particular merge request, and on your project home page, there is test status badging. These two UI elements only show up if you enable a 'ci service' on the project. In community you can turn it on with Gitlab CI. In enterprise you can set it up to work with jenkins.

like image 142
twk3 Avatar answered Oct 07 '22 22:10

twk3


Based on that page I understand the integration with Jenkins is only available in the enterprise version.

This is no longer true, the Jenkins GitLab Plugin (from a 3rd party) works to hook Jenkins into GitLab as a CI provider.

The wiki page has an example setup with lots of details you'll need to get it working.

This will give per-commit build/test status indicators in GitLab and also hook into the Merge Request system (both in the local repo and when merge requests come from forked repos).

like image 31
teeks99 Avatar answered Oct 07 '22 21:10

teeks99