I have to decide between Bitbucket and GitLab for repository hosting (yes, they have to be private). I've used Bitbucket in the past, but now I've discovered GitLab and I find the idea of having a self-hosted repository manager quite attractive. But, I have to justify the use of one of them (especially in the case of using GitLab, because of the overhead that supposes its installation and configuration).
We have to take into account the following considerations:
So, which are the reasons I should opt for self-hosted repo manager (GitLab), instead of non self-hosted one (Bitbucket)?
Bitbucket is one of the most popular while it comes at organization's point of view. More organizations host their projects in Bitbucket compared to GitLab, due to its user friendly interface. Bitbucket Cloud has Mercurial support. Bitbucket also offers free private repositories so only members can access the codebase.
While GitLab supports only Git repositories, Bitbucket offers support for both Git and Mercurial. Moving to GitLab might become a little complicated if you're using Mercurial or other repositories. Fortunately, GitLab is equipped with a repository import feature that helps users to migrate from other platforms easily.
Generally, developers agree that GitLab and GitHub have the best interface. Many developers prefer GitHub because it's more popular and they are used to the navigation. However, teams using Jira benefit from having seamless integrations with the Atlassian ecosystem – so BitBucket is a natural choice.
Generally, businesses with rigorous and elaborate security and compliance requirements choose GitLab Self-Managed because of the complete control they have over the Git host, including custom instance wide settings, auditing capabilities, unrestricted log access, and more.
I’ve used self-hosted repos in some occasions:
My Pros:
Flexibility for your git server code (custom integration and modules).
Flexibility for your infrastructure.
Security - depends on your organisation
Internet connection independence
Speed - depends on your network of course but in my case (Gov work) working on site was much faster.
Data - containment and accessibility depends on you organisation
My Cons:
Its usually a better fit for large teams because of the different tasks required to maintain it.
Security - continuous monitoring just in case your neighbour gets curious…and lucky.
Maintenance - to keep up to date with new functionality you’ll have to be upgrading periodically
Hosted:
I also like the private repo functionality from both Bitbucket and Gitlab just take into consideration that Gitlab doesn’t cap user quantity. Also if you use CI Gitlab has it integrated.
Best of luck
Control. When you run open-source software yourself nobody can reach in and remove a feature that you rely on, or prevent you from extending the software to more exactly meet your own needs.
It gives you more confidence in repos being actually private, allowing 3rd party to have your sensitive data may be a showstopper sometimes (or if you just prefer to be more paranoid). You can have any backup policy you like, for example - encrypt and upload into multiple clouds
Also for lot of repositories (and/or large ones), big team - self hosted may be cheaper, it does not require that much effort to maintain once you're settled with settings and features. You can set up gitlab, automated backups, monitoring of the former two in a few hours and then only check if everything still runs fine once in a while.
I have gitlab set up for my private projects, after initial setup it required no attention over a few years already
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With