With Microsoft positioned buy GitHub (for around $2,000,000,000 dollars) – I was reading about how many Linux people were saying they leave GitHub.com. But to where? I mean, there is always: https://www.bitbucket.org – which is great, but GitHub.com is a ridiculously mature product with an enormous adoption rate.
Well, on that Reddit post, most people were saying they would go to GitLab – which is free now??
To start, I didn’t know much about GitLab, and I thought it was a pay-product which added Continuous Integration (CI) and Continuous Delivery (CD) for GitHub. It can be, but as it turns out, it’s really MUCH more than that.
Keep in mind, I only spent a few hours digging in – but I’ve already learned enough and was impressed enough where I wanted to write down some things I found. First and foremost, GitLab has a FREE tier which offers unlimited, free private or public git repositories. That is already significant because on GitHub.com, you can have unlimited public repositories, but private repositories cost money. So, a great alternative has been Atlassian’s BitBucket. However, given that GitHub is more mature, and a widely-accepted product, it’s arguably more attractive.
So, what I’ve learned in a few hours are some key points. Compared to GitHub, Gitlab has:
- Just about all of the features of GitHub/GitHub Enterprise, plus much, much more.
- Unlimited, free public AND private repositories
- Better Kanban/issue board
- Better project analytics and tracking
- FREE built-in CI/CD – seems to be based around builds done within an isolated Docker container. See: https://gitlab.com/help/ci/quick_start/README
- A public Docker container registry that is branded to your name/organization. (e.g. registry.gitlab.com/ORG/REPO/PROJECT)
- Published “snippets” at the person/organization level AND the project/repo level.
One other very notable thing is that GitLab is supposedly available for free, for self-hosting (you run it on your own server) – https://about.gitlab.com/pricing/ which is very different from GitHub Enterprise (the equivalent for GItHub.com) – which is $21/user/month, even for personal/hobbyist use.
What about the downsides?
Again, as of this writing I’ve only been messing with this for several hours – so if I misspeak, please let me know. One key thing is that you can’t seem to make an “Organization” (or company) with GitLab. Everything seems to be done at the personal account level. That is unless that is what “groups” are? https://gitlab.com/groups/new
Also, if you are used to using GitHub.com and GitHub Enterprise day in and day out, this is a different UI which takes a little getting used to. Aside from that, I’ve not really seeing a downside. This seems like a more-advanced version of GitHub.com, which also allows unlimited, free, private repositories.
First, you can (with a single button click) import your projects from github.com into gitlab, from here: https://gitlab.com/import/github/status
So, I am going to play around with this a bit more, but if this is as good as it seems, I’m very inclined to consolidate all my code into GitLab. I have projects smattered across GitHub. BitBucket.org and VSO. This looks like it would be a quick, easy place to consolidate everything PLUS I could set up builds and deploys for some of these projects too.
Bottom line me and you, go check out GitLab. It appears to be a pretty great alternative to GitHub.com, BitBucket.org, and Visual Studio Online.