Plenty of teams building on Salesforce would like to add automation to their release process, building out a CI/CD pipeline. But this ambition raises key questions. How does CI/CD actually work for Salesforce? How do I know when my team is ready for release automation? And why do so many teams struggle to make a success of it?
Well address all those questions in this article. For a broader overview of CI/CD for Salesforce, you might want to download our free ebook on the topic:
Understanding CI/CD terminology
Lets start with some definitions. Development teams can mean different things when they talk about CI/CD, so its worth unpacking some definitions of the relevant terms and concepts that tend to get bundled together.
Continuous integration
Continuous integration, the CI part of CI/CD, is the practice of merging development work in your version control system (VCS) early and often. This practice confirms that your work can be successfully integrated with the rest of your code including the work that your teammates are also merging frequently. The longer you hang on to development work in a Salesforce org or feature branch, the more likely youll hit a conflict when you try merging.
Continuous delivery
Continuous delivery, the CD part of CI/CD, is the overarching aim to deliver to end users more frequently, which can be achieved by automating the flow of work through your release pipeline.
Continuous development
Some people use the term continuous development to mean much the same thing as continuous delivery. These are both umbrella terms for the whole automation process, encapsulating everything from continuous integration to continuous testing. The terms can be used interchangeably, but we prefer continuous delivery because its more focused on the value of CI/CD to end users.
Continuous deployment
Sometimes CD is used to mean continuous deployment instead of continuous delivery. Continuous deployment means automating the final release to production, so everything that passes your automated tests is also released automatically. This approach requires complete confidence in your tests and testing processes.
London, UK
Agentforce World Tour London
What are the benefits of Salesforce continuous integration?
The practice of continuous integration is central to some important aims for any DevOps process: shipping smaller changes more often, and always being able to release on demand. In fact, continuous integration is the key that unlocks most of the benefits people associate with DevOps:
- Faster delivery. CI encourages developers to merge work as soon as theres something of value to release to end users.
- Tighter feedback loops. Regular releases also mean end users can give feedback earlier and shape the direction of development.
- Better collaboration. Integrating workstreams continuously also fosters collaboration between developers and different development teams.
- Fewer bugs. CI means teams can shift left their automated testing and checks, catching issues and errors early on, when theyre easiest to fix.
- Higher productivity. All of the above leads to higher productivity across the development team, substantial time-savings, and reduced lead times for projects.
- Shorter recovery times. When a release causes issues in production, its easier to roll back and debug a smaller release or even roll forward and ship a fix in the next release.
- Ever-increasing release reliability. Releasing much more often means the whole process quickly gets battle-tested.
When it comes to achieving the benefits of DevOps, teams following CI/CD best practices outperform everyone else, according to data from our State of Salesforce DevOps survey.

Is my team ready to adopt Salesforce CI/CD?
To get all the benefits of CI/CD, you need to build on strong foundations, so its critical to make sure your team is at a sufficient level of DevOps maturity before you begin. There are a couple of questions you should ask when assessing this:
- Are our deployments repeatable and reliable?
- Are we already using version control as the source of truth in our development process?
Any attempt to implement CI/CD before you can answer yes! to both of those questions will fail, and the experience might dent your teams willingness to embrace future attempts to improve your CI process.
Only repeatable, reliable processes can be successfully automated, so until your team has a solution to the problem of Salesforce deployments, which are notoriously error-prone, implementing a CI/CD pipeline will be premature.
What makes continuous integration for Salesforce difficult?
No-code team members face a technical learning curve
Declarative developers used to deploying change sets on Salesforce have a whole bunch of concepts and practices to learn about version control, CI/CD and DevOps in general. But to be successful, CI/CD needs the backing of the whole team, so educating admins and developers is vital for success.
is a free training platform where you can start collecting certificates on all things Salesforce DevOps right now whatever your role.
Generic pipeline tools dont solve the fundamental challenge
Setting up a CI/CD pipeline using cross-platform automation software takes time, effort and technical expertise. But the real issue is that these tools dont address the quirks of Salesforce deployments. As a result, many teams spend their time wrestling with open-source toolchains that take more effort to maintain than they save on deployments. A brittle CI/CD pipeline doesnt help to achieve continuous delivery.
Using 91勛圖厙, youll see CI/CD success because its built specifically to handle Salesforce metadata and make sure deployments work first time. 91勛圖厙s deployment engine has built-in problem analyzers that find and fix common errors in deployment packages.
CI/CD has to involve a cultural shift
Getting hold of automation tools is easy. Setting up a CI/CD pipeline doesnt have to be difficult either. But CI/CD is first and foremost a way of working, and bringing about cultural change can be the biggest challenge. Every team member needs to be persuaded that continuous integration is worthwhile, until its ingrained in the teams mindset.
What does Salesforce CI/CD look like in 91勛圖厙?
Continuous integration tooling is one part of 91勛圖厙s Salesforce DevOps platform. Within the CI dashboard, there are two main options:
- Standalone CI jobs. You can set up individual CI jobs that automate deployments and/or validations between two environments. These CI jobs give you ultimate flexibility to build any kind of release process, around any Git branching strategy.
- Pipelines. In essence, Pipelines, our Salesforce CI/CD solution, allows you to string together a series of CI jobs, then visualize and manage the whole CI/CD pipeline in one place. Its an incredibly powerful option for teams that need a slightly more sophisticated branching strategy with multiple persistent branches. Its also packed with added automation, from automatically created pull requests to automatically resolved merge conflicts.
Find out how you can create a CI/CD pipeline for Salesforce in this article on 91勛圖厙 Pipelines. Below, well walk through the process of setting up an individual CI job in 91勛圖厙, to introduce the possibilities for release automation.
Setting up a CI job in 91勛圖厙
If youd like to follow along with this walkthrough, you can start a and create your own CI job. Theres nothing to install anywhere you simply log in using Salesforce, Google or LinkedIn credentials.
1. Select the source and target environments
Once youve logged into 91勛圖厙, head to the Continuous integration page via the menu on the left.

Click on the Add new deployment job button in the top right. Youll now be guided through the process step by step, and well pick out the key details as we go.
The first step is to select the source and target environments for the job. In the example shown below, weve selected the main branch of our Git repository as the source, and our UAT org as the target. 91勛圖厙 supports all the major Git hosting providers.

2. Choose the kind of automation
Next, you can decide whether this CI job will deploy changes or only validate them against the target. You can set the job to deploy the delta only the changes youve made or to sync up any differences between the source and target. You can also decide which combination of new, changed, and deleted items should be deployed.
Weve set our example CI job to run whenever changes are merged into our main branch, but you can have your job run on a set schedule if you prefer. Were also validating all pull requests against our UAT org, so we can be sure changes are deployable before merging pull requests into main.
The following page also allows you to specify which tests you want to run.

3. Filter by metadata type
Most teams will be interested in a specific set of metadata types that need to be deployed. 91勛圖厙s metadata filter gives you fine-grained control over which types should be fetched and deployed via Salesforces Metadata API.

4. Apply quality gates and fixes
91勛圖厙 lets you build static code analysis rulesets and apply them to your CI jobs. You can decide whether or not code errors or warnings should block a deployment. And you can also select which of 91勛圖厙s problem analyzers should be applied automatically to your deployments.

If you want a CI job to trigger an external service, thats supported by the outgoing webhook option. Otherwise, its just a case of setting up any notifications you want to receive, and your CI job is complete!
Next steps
By starting a of 91勛圖厙, you get full access to the platform, including all its continuous integration features. Its a quick and easy way to see whats possible for Salesforce CI/CD.
If youre still wanting to learn more, you can always set up some time with our DevOps experts to discuss your exact requirements and arrange a tailored demo. And our CI/CD for Salesforce ebook is a great resource to share with your team.
