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, ….
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.
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.
The configuration is done with a .yaml file like Travis.