If you’ve spent any time evaluating software version-control systems, you have undoubtedly looked at GitHub Enterprise and Bitbucket Server, two big names that offer both on-premises installs and a SaaS option. You also should have run into GitLab, an open source project backed by the company of the same name. GitLab is available in a free community edition, paid enterprise and hosted editions, and a free SaaS offering that includes the enterprise features. Though less of a household name, GitLab is a compelling alternative to its more popular rivals.
Running on top of a built-in Git server, GitLab gives you a full-featured UI for managing users, projects, and code, and it even includes a built-in continuous integration solution. Best of all are GitLab’s many thoughtful usability features that make life easier for the busy developer. Despite some speed or performance issues you may run into with large installations, GitLab is not only a solid choice for managing code on-premises, but one that users will love.
As a company grows, managing users can become a living nightmare. GitLab has some nice features that simplify user management. For authentication, you get a ton of options. Beyond creating a new username and password for each user, you can piggyback on external OAuth providers like GitHub and Twitter for authentication and account creation. Once users are in the system, you can assign them to groups or give them permission to create their own groups. For each group a user belongs to, they can have one of five different roles, ranging from read-only to full administrative access. One nice feature here is the ability to automatically expire group membership, which makes it easy to deal with temporary contractors or summer interns.
To continue reading this article register now