Should you DIY your CI/CD pipeline for Salesforce?

Most Salesforce teams want to have an automated CI/CD pipeline in place, so they can release incremental improvements more regularly with fewer deployment challenges. But not all of those teams succeed in building a reliable pipeline. The main cause of failure is treating CI/CD for Salesforce like CI/CD for any other platform — using the same tools. Join us to learn about Should you DIY your CI/CD pipeline for Salesforce?

Salesforce CI/CD is achievable, but it does require a tailored approach, because there are particular technical challenges and particular expectations of Salesforce from the business. Teams that see success with Salesforce CI/CD have most often achieved it using a dedicated Salesforce DevOps platform. In this piece, we’ll see why.

Salesforce DevOps platforms address the fundamental challenge of Salesforce deployments

As part of your Salesforce CI/CD pipeline, you’ll need to automate deployments from version control to Salesforce environments for validation and testing. Teams attempting this automation with tools such as Jenkins stumble on the fundamental challenge: deploying metadata to Salesforce. 

Tricky metadata types and missed dependencies cause a lot of deployment pain, and you can’t automate a process until it’s reliable and repeatable. That’s why 80% of Salesforce teams say their CI/CD automation frequently stalls and needs manual resolution. If you’re using different Salesforce clouds and packages, such as CPQ (Revenue Cloud), the complexity of your DevOps process multiplies.

Salesforce’s platform releases (three times a year) will also add, alter or deprecate metadata types. Self-maintained CI/CD pipelines will therefore need ongoing effort for upkeep, beyond the initial setup. Teams taking a DIY approach often end up dedicating developers to managing scripts, automation tools, servers, and authentication methods — so “free” tooling comes at a higher cost overall.

All of these challenges are the reason DevOps platforms developed specifically for Salesforce exist.

Salesforce DevOps platforms help low-code and pro-code developers to collaborate

It’s rare to come across a Salesforce team that doesn’t have a mix of admins and devs working together. But the collaboration can be difficult, as low-code and pro-code teammates often want to approach deployments differently as well as development.

Admins may not see the value of version control immediately, and may feel intimidated by CI/CD. For their part, devs may build a release process that works, but isn’t easy for other devs to maintain, let alone bring admins in on.

DevOps culture is all about breaking down silos and encouraging collaboration, so a CI/CD pipeline needs to feel intuitive for both devs and admins. Teams that collaborate well perform better against Google’s DORA metrics: release frequency, lead times, change failure rate and recovery times.

Since Salesforce is a low-code platform, it makes sense to implement a low-code solution for Salesforce DevOps. The sweet spot is having a platform that functions as the command center for your Salesforce CI/CD pipelines, while allowing developers to use the CLI and interact directly with the VCS.

Salesforce DevOps platforms support the most common requirements of Salesforce teams

In general, implementing CI/CD is part of achieving agile development — being able to release multiple times, so that the team can quickly react to changing business requirements or bugs found in production.

But many Salesforce teams don’t have the freedom to release to Salesforce on demand. Salesforce orgs hold a lot of customer data, so in large enterprises or highly regulated industries, changes are scrutinized and audited carefully. Businesses rightly want to prevent  data loss, granting the wrong profiles access to personally identifiable information (PII), or accidentally triggering business logic such as automated emails to customers.

In that context, many Salesforce teams need CI/CD solutions that provide out-of-the-box functionality to practice continuous integration, while managing releases on a set cadence — or even on different cadences where long-term projects need to be managed alongside BAU development.

It’s also vital for teams to back up Salesforce before implementing CI/CD, and a DevOps platform that offers backup is the best way to ensure quick recovery times.

Learn how to implement Salesforce CI/CD successfully

Each Salesforce team needs to find the CI/CD process that works for them and serves their wider business, while staying true to DevOps best practices. This ebook on CI/CD for Salesforce, from DevOps provider Gearset, lays out the different considerations you should work through as a team.

Leave a Reply

Your email address will not be published. Required fields are marked *