Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Which are the pros (and cons) of self-hosting your repositories (in other words: GitLab vs Bitbucket)? [closed]

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:

  • I'm not sure about the backup frequency of the server where GitLab would be installed in (I think this would be a mayor difference between the two options, but I don't know if Bitbucket assures 100% the integrity of the repos they host).
  • I can have access to the server from anywhere with VMWare Horizon Client, so Bitbucket and self-hosted GitLab would be tied in this point.

So, which are the reasons I should opt for self-hosted repo manager (GitLab), instead of non self-hosted one (Bitbucket)?

like image 666
Julen Avatar asked Nov 16 '15 16:11

Julen


People also ask

Which is better GitLab or 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.

How is Bitbucket different from GitLab?

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.

Which is better GitHub or GitLab or Bitbucket?

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.

Should you self host GitLab?

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.


3 Answers

I’ve used self-hosted repos in some occasions:

  • Government work. They had strict security policies and a really big team. They also had remote access for some users.
  • Pharmacy lab, also strict security and big team but no need for remote access though.
  • I also keep a home git server for a large range of projects from hardware (Raspberry Pi), to Dockerfiles for Pentests, and complimentary services.

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

like image 79
Jose Torres Avatar answered Oct 12 '22 03:10

Jose Torres


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.

like image 5
db48x Avatar answered Oct 12 '22 03:10

db48x


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

like image 3
Vasfed Avatar answered Oct 12 '22 03:10

Vasfed