GitLab + GitLab CI

GitLab Logo

Some months ago I had to install a git repository for some of my works

Using bitbucket or github was not a solution since I had to use private repositories and I didn’t want to have one more expense with any of those services so I have googled a little bit to find out what could be the best solution and I found GitLab.

GitLab is almost a GitHub clone that we can install in our own server. It is simple and easy to configure and it comes with a bonus feature called GitLab CI that is a continuos integration module.

This is a very small example of the gitlab features:
– issues reporting system
– WebHooks for automated tasks
– version and milestone management
– work groups creation
– LDAP authentication
– message broadcasting for notices or warning
– integration with services like: RedMine, Asana, JIRA, ….

gitlab services

The merge request system is very intuitive and usefull for colaborative working and it allows you to discuss the merge and the changes on the source code with a integrated diff system.

gitlab merge request

We can also see each user activity with some nice graphs and you can check their productivity, also we can create a wiki, or labels, and nice other features.

Summing all up, it’s an excellent git solution!

Now to the continous integration feature. It’s very complete and it even supports Docker (although I have not yet tried it) and it allows us to test, package and distribute or deploy our code.

We can also configure a tool to make code coverage reports and gitlab will show the actual coverage of each build.gitlab ci

The configuration is done with a .yaml file like Travis.


Leave a Reply

Your email address will not be published. Required fields are marked *