The technology journey towards DevOps maturity often starts with adopting a Version Control System (VCS). Git-based VCSs are the industry standard, because of the many benefits that they provide. But which VCS provider is the right one for your organization?
Why Salesforce teams are adopting Git
The State of Salesforce DevOps 2022 report found that 89% of Salesforce teams had adopted source control or planned to adopt it in 2022. It’s unsurprising that Git-based development is rapidly becoming the industry standard for Salesforce teams, given the benefits of adoption include being able to:
- Work on parallel development in isolated branches
- Identify conflicting development to avoid overwrites
- Reduce bugs through code review
- Audit easily with full change history
- Roll back unwanted or broken changes
But before you can adopt a Git-driven workflow, you’ll need to choose a suitable VCS provider. With so many VCS options on the market, it can be hard to know which one is best for your team. In this post, we’ll look at the key considerations that’ll help make your decision easier.
Considerations for choosing a VCS
Overwhelmed by the amount of VCS choices and don’t know where to start? Here are some things you’ll want to think about before selecting your VCS.
Are we going to be adopting CI/CD?
It’s useful to have an idea about what your overall DevOps strategy is going to look like in the long term. If you are looking to adopt a CI/CD strategy — either imminently or in the near future — then it’s worth looking at a VCS that has easy integration with CI platforms, or has one of its own.
How do we manage our work?
If you use change management software, such as Jira or Azure Work Items, it’s worth considering a complimentary VCS from the same provider. They will often have tighter integrations and nifty features that can make managing your work and collaboration that little bit easier.
What are our security requirements?
Many of the VCS providers offer the ability to self-host your repositories on-premises. This is often a hard requirement for those working in highly regulated industries, such as financial services or healthcare. All of the major providers can host your repositories in the cloud too.
What does our business already use?
If your business already uses a VCS elsewhere in other software engineering or Salesforce teams, then it could be wise to use the same one. Onboarding new software often involves contract negotiations and lengthy security reviews. If a VCS is already approved by the business, opting for the same provider can often get you up and running faster.
What do we like the look of?
It’s easy to overlook, but the way your team feels about the user interface should play a big part in your choice. Ease of use matters and it’s often subjective. So be sure to have a look at the options out there, and then consider picking the one that suits the team’s eye and way of working most.
What are the leading Git hosting providers?
So, having considered the above, what choices are there? All Git hosting providers offer the same core functionality, allowing you to:
- Host multiple repositories
- Set up a branching strategy that suits your team
- Allow for better collaboration through peer reviewed pull requests
- Give you a full commit history for auditing and rollback
Although similar, there are differences that can make certain VCS platforms a better fit for your team. Let’s have a look at the four main providers, so you can decide which one is best suited to your needs.
With over 70 million users, GitHub is the most widely used VCS provider in the world. GitHub has always championed open-source projects which has contributed to this significant number of users. As such, some members of your Salesforce team may already be familiar with using GitHub which could make onboarding easier.
GitHub offers automation capabilities through GitHub Actions, which is great if you’re looking to automate testing or deployments with your own scripting.
If you’re looking for somewhere to have comprehensive documentation all in one place, GitHub might be a good option for you, too. GitHub gives you a place to host your wikis so that every project or implementation is well documented.
GitHub has cloud-hosted options as well as offering on-premises hosting with GitHub Enterprise.
Bitbucket from Atlassian
Bitbucket is a one-stop shop for a tightly integrated development environment. Given that Atlassian is a big player in the software development space, Bitbucket is a fantastic option if you’re already using other Atlassian software.
If you’re a Jira user, Bitbucket could be the no-brainer choice for your VCS. Super-tight integration between Jira and Bitbucket means that feature branches can be created and tied directly to a Jira ticket. The ticket will then be automatically updated which is quicker and more reliable than manual updates. This is great for fostering collaboration and visibility across the Salesforce project team. Plus, Atlassian’s Bamboo offers you the option to script automated deployments or testing, with results tied to the specific branch and ticket being worked on.
Bitbucket Server is your on-premises option for those with additional security requirements.
GitLab is a fully open-source Git-based VCS and software development platform, which is the major difference between GitLab and the other providers. With GitLab you have the option to self-host easily on your own servers, which makes it a popular option for the security conscious. As a result, we tend to see a larger number of enterprise Salesforce teams using GitLab.
GitLab has been slightly ahead of the curve compared to other providers. For example, GitLab introduced CI/CD capabilities earlier than other platforms. Some teams have greater confidence in the robustness of tools that have been around longer so prefer to opt for GitLab.
GitLab also offers a similar level of built-in issue tracking to its peers with GitLab Issues. But the UI for GitLab Issues may feel unfamiliar for wider business users, making it harder for them to get visibility into ongoing development.
Azure DevOps from Microsoft
Azure DevOps (ADO) is another example of a suite of tightly integrated services. It might be beneficial to go with ADO if any of its services are already being used elsewhere within your organization.
Azure DevOps offers a unified view of your full DevOps pipeline. Your repositories can be connected to ADO Pipelines, automatically deploying changes through the Salesforce environments in your workflow. Also, the integration with ADO Work Items will give you the same level of visibility as Atlassian.
What about Gearset?
Gearset integrates with all of these Git hosting providers, so you can adopt or continue to use the option that suits you best and make the most of Gearset’s complete DevOps solution. This includes managing your entire CI/CD process in Pipelines, which is tightly integrated with your chosen provider and lets you track every change through your release pipeline — whether the pull request was opened in Gearset or not.
How to identify next steps
We’re always happy to chat through your DevOps setup, so get in touch if you’re adopting version control and looking for more guidance. We have plenty of resources to help you, and a great place to start is our free DevOps Assessment which will give you a solid understanding of your current process and where you could focus your efforts next.