GitLab is a self-hosted Git management application, that we've been using since January 2015 and it is awesome!
In this blog post I explain why GitLab is the best thing since sliced bread and why you should seriously consider it for your team:
- Besides the obvious Git version control, GitLab also has an optional continuous integration service called GitLab CI, which can run tests for each push. We use this to run automated tests after each commit and also on occasion for automated staging deployments once those tests have run successfully.
- GitLab has a very polished web interface brimming with information, functionality and features to delight you! A built-in code editor allows you to make changes and commit them right from the web interface.
- GitLab has a really committed team of developers and contributors and on the 22nd of every month (they have never missed this date!) a new version is released packed full of exciting improvements and new features.
- GitLab is easy to install, update and maintain, it's distributed via package repositories so updating is as easy as an "apt-get update" and "apt-get install gitlab-ce". It really could not be easier.
- It's easy to back-up your self-hosted GitLab instance, there are a number of methods built in that just need a little minor configuration to get them up and running.
- GitLab provides issue tracking and issues can be closed from commit messages and issues can also be linked to milestones.
- It's also easy to create merge requests, so code can be easily reviewed and discussed, thanks to GitLab CI it's easy to see if a merge requests build is passing all tests.
- When discussing code it's possible to comment on a commit or merge request as a whole along with commenting on a particular line of code, which often comes in handy for code reviews.
- Repositories can be organised into groups and also tagged to make it easier to find a repository quickly.
- It offers fine grained permissions, protected branches are a good way to ensure only certain users can commit to a project's trunk branch.
- GitLab now also ships with an optional real-time Slack-like messaging app called Mattermost which looks very interesting too.
- If you don't fancy a self-hosted solution, worry not, GitLab also has you covered there with GitLab.com, a free hosted version!
- Last but not least, GitLab is open source so it's very cost-effective compared to commercial hosted alternatives.
For more information visit the GitLab site.