Bitbucket vs. GitLab
Bitbucket allows teams to plan projects, test, and deploy their code—it supports both Mercurial and Git, but not SVN. GitLab is a DevOps platform with built-in project management, source code management, CI/CD, and more. Which of them is the better option?
Our Recommendation = Get Bitbucket
While GitLab is a capable piece of software that offers some features Bitbucket doesn’t, we think Bitbucket is the best overall choice for most. It’s a more flexible option, with a broader range of version control systems, excellent Jira and Trello integrations, and it offers respectable prices for smaller teams.
On top of that, Bitbucket’s semantic search ability is something GitLab doesn’t offer as readily. The semantic search ability allows you to search your syntax to find definitions that match your exact query rather than variable names, speeding up your development time.
When To Get GitLab Instead
GitLab is a good option for those that want a more extensive selection of plugins, an engaged and larger community, and are fans of open-source software. The latter is perhaps the most significant area it “wins” in over Bitbucket as open-source software encourages innovation, and users are free to modify it how they wish.
The GitLab community gets strengthened with easy-to-use tools that will be able to help out most users that get stuck. Add in more build minutes and advanced features, and GitLab will be the better option for some people. Overall, we still think Bitbucket edges it, though.
Pricing – Is Bitbucket or GitLab the Better Deal?
Winner = Bitbucket
Bitbucket is accessible via three tiers, Free, Standard, and Premium, like so:
The free plan is complimentary for up to five users but restricts the number of build minutes accessible to 50 minutes per month. The free tier is a good way to try out the software before you commit to anything further, but as you might expect, it comes with notable limitations.
The second tier, Standard, is accessible for an unlimited number of users. It’s $3 per user per month, and you receive 2500 build minutes, 5 GB of Git Large File Storage, and up to 50 deployment environments. That’s more than enough to get started with, although larger teams may still find the build minutes to be restrictive.
The final tier, Premium, costs $6 per user per month and gives you everything from the last levels with some boosted extras: 3500 build minutes, 10 GB of Git Large File Storage, 50 deployment environments, and enforced merge checks. Only the largest companies would find this plan restrictive, and overall, it offers good value for money.
GitLab also comes in three plans, as shown below:
The first of these plans is free, much like Bitbucket, and allows an unlimited number of users to collaborate on as many projects as they wish, just with restricted features. This free plan is a better option than Bitbucket as it also offers a higher number of build minutes at 400 per month, known as CI/CD minutes—although this is only for SaaS runners.
Things become tighter as we look at the paid plans. The second Premium plan comes in at $19 per user per month compared to Bitbucket’s $3 per user per month. That’s quite a difference in cost per user, and it can quickly add up, but that’s because you get more compared to Bitbucket’s second plan. For example, the GitLab Premium plan offers 10,000 build minutes per month compared to 2500, along with more advanced features compared to Bitbucket.
The final plan, Ultimate, follows a similar pattern; it’s more expensive at $99 per user, compared to $6 per user, but for that, you get a lot more, including 50,000 build minutes, advanced security, and free guest users. So how did we decide that Bitbucket was the better option overall when it comes to price?
Even though GitLab offers more advanced features across the board, more build minutes, and a stronger community, the simple fact is that Bitbucket is just more affordable for smaller teams. The build minutes that GitLab offers are aimed at much larger teams and projects, and therefore are a better deal, but only if you’re got a large team with extensive projects to handle.
Bitbucket might technically offer less overall, but its lower prices are attractive for those in that pivotal early growth stage.
Repository Import Feature
Winner = Draw
The ability to import your old projects into repository management software is key, so it’s no surprise that both platforms have a solid offering. Bitbucket offers support for both Git and Mercurial and allows total repository imports from Git, SVN, CodePlex, HG, and SourceForge. That’s a good deal of options that will cover most developers.
GitLab offers similar options, but it doesn’t fully support Mercurial. That said, it comes with a well-designed repository import feature that allows developers to import their projects from another platform effortlessly, and that includes Bitbucket itself.
Both platforms have an answer then and are equal because they cancel each other out in different areas. As a result, we think it’s a draw here.
Semantic Search
Winner = Bitbucket
Searching functionality is a clear area where Bitbucket gets ahead because GitLab simply doesn’t offer the same value to users. The semantic search feature on Bitbucket uses the definition you write in first, followed by usage examples and various names. This feature is significant because it speeds up your searching and allows you to get back to that all-important coding as quickly as possible. It’s what’s known as code-aware search:
GitLab does offer what it calls “Advanced Search” that allows you to search across projects, issues, merge requests, and your code. However, this is only available in GitLab Premium, which means you have to pay for the privilege. On top of that, we found Bitbucket’s semantic search more straightforward and easier to use, so it’s Bitbucket that “wins” here.
Flexibility
Winner = Bitbucket
Developers want their tools to be flexible, and a repository management solution is all the better for giving you options. Bitbucket allows you to import from Git and SVN, in addition to CodePlex, SourceForge, and even Google Code. Importing from those alone unlocks many possibilities for software developers, and it’s a strong offering all around.
GitLab has an abundance of features far more advanced than Bitbucket offers, and you’ll be able to develop your workflows exactly how you want. However, GitLab “only” lets you import from Git, SVN, HG, and TFS, and it doesn’t include Google Code, SourceForge, or CodePlex, which opens up what you can do. In that sense, then, Bitbucket offers more in the way of flexibility, even though there are more available features in GitLab.
Community
Winner = GitLab
The GitLab community is a far better place to find yourself if you’re stuck with a problem or need a bit of help. That’s because it offers a comprehensive and unified place to find and share code, with more than 3000 friendly and knowledgeable contributors, most of which are quick to jump in and help out.
If that wasn’t enough, there are full tutorials available, a huge number of extra resources, a top contributors feature, and even sweepstakes. It’s a vibrant and welcoming community, and you can feel it almost immediately.
Bitbucket struggles to compete in this area. While it does offer its own little community, it simply doesn’t match up in terms of resources and how responsive and alive it is. That’s partly understandable, seeing as it’s a better option for smaller teams overall, but don’t expect to find the same scope or number of resources available—it’s a simple offering, even if it’s still useful for some users.
Integrations
Winner = Bitbucket
Integrations are an increasingly vital part of a service as more practical tools appear across the board. Everyone has their preferred tools, and they want new services today to integrate with them from the off—for some, it’s the deciding factor before purchase, and for a good reason too. Bitbucket offers noteworthy integrations with some leading and recognizable names, including Trello and Jira, which is hard to beat.
Of course, Trello is a part of the Atlassian software company, so you would expect it to integrate with Bitbucket. It successfully does that and offers teams the accessibility of Trello while developing their code. Integration with Trello allows your team to see repository information straight on the cards in a board, including branch, commit, and pull request updates, as well as the latest status for builds and pull requests.
What’s more, you can create a branch directly from a card in Trello simply by attaching repository information to it. You can do so by clicking on the front of a card and then clicking on the Bitbucket Power-Up—it’s as easy as that. You’ll be able to quickly jump to Bitbucket by creating a link on your board too. But Trello integration might not be for everyone, and this is where Bitbucket takes it further by integrating with Jira as well.
Most software developers will proudly state that Jira makes development life easier, so to see the comprehensive integration we get with Bitbucket is more than welcome, even if it’s expected as part of the Atlassian software company. Jira allows you to create user stories, issues, distribute tasks and plan sprints across your entire software team with ease. There’s also the ability to discuss your team’s work with complete visibility at every stage of the process.
Naturally then, when connecting Bitbucket to Jira, a world of features opens up for your team. In fact, Atlassian says that teams who integrate Jira with Bitbucket release versions 14% more often in general, and it’s not hard to see why. Combining the two tools provides a way for you to stay up-to-date at almost all times. It gives you a sweeping overview of work completed and those projects that need finishing.
For example, with the two tools integrated, you’ll be able to automatically see which repositories your team is working on within the code in Jira view. All teams need to do is include an issue key in a commit or branch name, and like magic, it will automatically update in Jira. Essentially, the entire team can see what you’re bringing to customers, which issues get deployed, and whether a build has passed or failed. Real-time development status updates are available as well.
So, while Bitbucket offers other useful integrations, including with npm, SonarQube, and Docker Hub, it’s the Trello and Jira integration that stands out. But what about its competitor?
GitLab also offers integration with Jira, although it’s not quite as good because it’s not automatic. In GitLab, the cross-functionality works but only by mentioning in GitLab the Jira issue ID, whereas if you’re using Bitbucket, you can automate transitions of Jira issues by using what’s known as workflow triggers. In more straightforward terms, the integration here isn’t as natural or complete, which, again, is something you might expect considering Atlassian’s connection to Jira.
GitLab doesn’t integrate with Trello either, although it does have some valuable integrations, including with Asana for adding commit messages as comments to tasks, Campfire for connecting to chat, and Flowdock for sending notifications from GitLab to your workflows. There are also further integrations with Google Chat, Redmine, YouTrack, and Bugzilla, so it’s no slouch compared to Bitbucket.
Summary
To conclude, GitLab offers more integrations and advanced features overall, but Bitbucket has the edge with its reasonable prices, flexibility, and killer integrations with both Trello and Jira.
While Bitbucket is the better option for most smaller teams, GitLab’s powerful features, impressive community, and open-source nature still make it an attractive offer. However, its focus is primarily on larger teams, so it’s those who benefit the most. If in doubt, Bitbucket is the one to go for, but both are great for the right customer.