The org-to-org release model for Salesforce is dying out. Each year, thousands more teams adopt version control, CI/CD and other essential DevOps practices that improve the speed and quality of Salesforce releases.
DevOps delivers. But with a more sophisticated release workflow, it can be a challenge to visualize the whole process, manage it successfully, and measure the impact. Teams can even fail to achieve their ambition of continuous delivery due to stalled automation and bottlenecks.
So in this article, we’ll illustrate how teams can visualize, manage and measure their entire Salesforce DevOps pipeline using Gearset’s Pipelines, which functions as the command center and source of truth for your Salesforce release process.
DevOps pipeline visualization
Proper release management has to start with visibility. If you can’t easily see what’s happening across the whole development lifecycle, tracking your own work is difficult enough — let alone collaborating with the rest of your team.
Without visibility of the pipeline, your team has much less clarity about the agreed process. Our State of Salesforce DevOps research found that the majority of teams deploy outside of their defined release pipeline some or most of the time — or don’t have a release pipeline at all.
To give teams this much-needed visibility, on Gearset’s Pipelines dashboard, you can see:
- Your entire CI/CD pipeline, end to end.
- The status of every environment — whether or not any automated jobs are running.
- All pull requests with work progressing through the pipeline.
The Pipelines dashboard captures everything — not just the changes made in Gearset. It’s tightly integrated with your Git hosting provider, so if you have a developer making changes in GitHub, for example, that’ll be shown in Pipelines. It also integrates with your work tracking tools, such as Jira, so your associated tickets are automatically updated as work progresses.
DevOps pipeline management
Getting visibility of your DevOps pipeline is great, but interacting with all of the environments, user stories, and automation jobs is where Pipelines really accelerates your release process.
Create the right pipeline for your team
There isn’t one Salesforce DevOps model that works for every organization — it depends on compliance constraints, existing environments, team setup, and how you combine speed with security.
As a result, Gearset doesn’t enforce a particular setup. You can build a pipeline out of your environments and configure automation jobs to suit your needs. The underlying branching strategy is essentially an expanded branching model with long-lived branches mapped to each Salesforce org. You can decide whether to release finished changes directly to production, or use a release branch model to maintain a set release cadence.
Not sure on the best approach for your team? We’re always happy to advise, based on your starting point and specific objectives.
Promote changes with minimum effort
Your DevOps pipeline should keep work flowing along smoothly, with minimal effort to get started and then promote changes through to production.
Within the Pipelines UI, you can create a new feature branch, commit changes from your sandbox, and open a pull request to the start of your pipeline. Or you can start the process from a Jira or Azure DevOps user story. Within Pipelines, simply select the relevant ticket and Gearset will create the feature branch using the ticket name.
Moving changes through your pipeline is a matter of clicks, because Gearset automatically creates the next pull request for you at each stage. Gearset can also merge XML files that Git would consider a merge conflict, because it recognizes Salesforce metadata and understands where changes can be combined without manual intervention.
Keep all your environments in sync
It’s all too easy for environments to drift further and further apart, but you can prevent this from happening with Pipelines. When you merge changes into an environment, Gearset doesn’t only create the pull request to the next environment in the release pipeline — it also automatically creates PRs to your upstream environments. So you can sync up everything in a few clicks while promoting your changes.
Bake in testing
Automated testing is an essential part of successful CI/CD. In Pipelines, you’ll find all the results from your testing and analysis, including:
- Unit testing. Test that Apex classes execute as intended at every stage in the pipeline. Gearset also tracks your code coverage so you can make sure it never falls below Salesforce’s minimum of 75%.
- Static code analysis. Ensure code quality and security, with the option to specify which failures should prevent a deployment. Configure a PMD ruleset within Gearset, or integrate with code scanning solutions Clayton and CodeScan.
- UI testing. Integrate with AccelQ, Eggplant or Provar to make sure changes behave as expected in the Salesforce UI.
Alongside reducing your workload with automated testing, Gearset also helps you maintain a fast-flowing pipeline in two key ways. Our problem analyzers catch deployment blockers ahead of time, preventing undeployable metadata getting into version control. And you can set up automated validations for pull requests, so you know for sure before merging that the changes can be deployed to the eventual target Salesforce org.
DevOps pipeline measurement
Even with comprehensive visibility and strong release management, you need to track your DevOps performance to identify opportunities to improve. Performance measurement also helps you demonstrate success to senior management — often as part of measuring DevOps ROI.
With an overview of your entire development process and strong release management in place, Pipelines allows you to measure your DevOps performance in terms of the DORA metrics: deployment frequency, lead time for changes, change failure rate, and mean time to recover.
Since your entire CI/CD pipeline is being managed in Gearset, you can use our Reporting API to fetch all of this performance data and display it in a dashboarding tool of your choosing, such as Tableau, Microsoft Power BI, Grafana, or Geckoboard.
Gearset Pipelines vs. Azure DevOps Services
DevOps pipelines aren’t a new concept, and some teams will turn to familiar cross-platform solutions, such as Azure DevOps Services. In theory, ADO supports any platform. In practice, it’s more complicated because Salesforce isn’t like other platforms.
Salesforce deployments often fail due to tricky metadata types, API quirks, and missing dependencies. Without the right tools, it’s easy to commit metadata to version control that turns out to be undeployable to a Salesforce org. And you can’t automate an unreliable process. So streamlined releases are often frustratingly out of reach for teams using generic DevOps tools.
To provide CI/CD that works out of the box for Salesforce, Gearset’s core deployment solution has been built to pre-empt and fix common causes of Salesforce deployment failure, leading to a success rate of 98% (and climbing). With Pipelines, there’s even more functionality to prevent failures: because Gearset understands Salesforce metadata, it can auto-resolve what Git would see as a merge conflict that needs manual intervention.
Gearset Pipelines vs. Salesforce DevOps Center
Salesforce’s DevOps Center allows you to create a pipeline around version control. As a more recent product on the scene, it’s still missing a number of key features:
- No integration with Git hosting providers except GitHub
- No integration with Jira or similar
- No native CI/CD functionality
- No rollbacks
- No back-promotion
- No metadata comparisons
Teams trialing DevOps Center also report struggling with work items that get stuck in the pipeline — an issue that pushed entertainment company Sporcle to adopt Gearset instead.
Salesforce DevOps for the whole team
Many teams still work in silos, due to differences in technical experience between admins and devs. It can be difficult to bring the whole team together in one release process when team members have different approaches to creating changes, prefer different tools and have varied levels of familiarity with DevOps.
Gearset provides an intuitive UI for DevOps, providing all the functionality devs expect and empowering admins to join in. When it comes to Pipelines specifically, devs aren’t forced to use Gearset to make every change. Should they choose to use the CLI and your Git hosting provider, all their work is still tracked in Pipelines. For no-code teammates, often admins, the click-based and highly visual way of working with Pipelines is user-friendly.
To empower your whole team to make the most of Pipelines, it’s worth considering how you can support everyone to learn the underpinning DevOps concepts. As well as working with Gearset’s customer success team, the training platform DevOps Launchpad is a great resource. There are general courses on version control, CI/CD, and more. And there are Gearset-specific courses, including the Gearset Automation Certificate that covers Pipelines.
Set up your DevOps pipeline
A fast-flowing and reliable pipeline for Salesforce DevOps will help you achieve continuous delivery. Watch this webinar video to see Pipelines in action right now. And to see how you can build the right DevOps pipeline for your Salesforce team, set up a tailored demo.