CI/CD for Salesforce that just works out of the box
Simon Breslaw on November 4th 2020
At the heart of DevOps, CI/CD has proven a real game-changer for the Salesforce ecosystem by allowing for more reliable development and release cycles as you build, test, and ship code faster.
When setting up a CI/CD pipeline for Salesforce, teams make use of a variety of DevOps lifecycle tools. If you just choose a toolchain based on your existing solutions, integrations or familiarity with a given tool, you risk missing out on evaluating better alternatives. Your choice of DevOps solution can help you maximize the return on your Salesforce investment while also empowering all of your team. This post covers key aspects to consider when you're planning to automate your Salesforce pipeline.
First, let's brush up on some definitions. Continuous integration, the CI part of 'CI/CD', is about regularly getting items of completed work into a pipeline for automated testing and validation as soon as possible. Continuous delivery/deployment, the CD part, is about automating the propagation of those work items through your pipeline to production. Altogether, CI/CD helps you get new features into the hands of your users quickly in the form of regular incremental improvements. There are many benefits to CI/CD, including:
- Fewer bugs in production due to smaller, less risky releases
- More reliable and frequently tested release processes
- Safer options for rolling back mistakes, and less downtime as a result
- Tighter feedback loops within an agile, user-driven development cycle
- Better ability to run multiple projects at the same time
- Faster delivery of added value to end users
It's worth bearing these points in mind when you're deciding on tooling because you want your tools to facilitate and enhance those benefits, not detract from them.
Standard CI/CD solutions
Salesforce teams use many common tools to automate their processes. These standard tools are used widely across all software stacks, not just on the Salesforce platform. So it's no surprise that teams will often choose a CI/CD toolchain based on familiar solutions that mesh nicely with software integrations already in use at their companies.
There's DevOps tooling built into version control systems, such as Azure DevOps, Bitbucket Pipelines, GitHub Actions and GitLab CI/CD. There are dedicated automation tools like Jenkins, CircleCI, TeamCity, Bamboo and Travis CI. And then there are complete Salesforce DevOps solutions like Gearset, specifically built to handle all the complexities of Salesforce deployments.
Drawbacks of a do-it-yourself pipeline
Setting up and configuring a CI/CD toolchain requires DevOps expertise. It also takes a long time. We've found that, based on independent customer feedback, Salesforce teams invest around 90 hours in the initial setup of a self-built pipeline. And that's just putting the basic CI/CD workflow in place. You still have your static code analysis, project or issue tracking, deployment scheduling and notification integrations to consider. Typically, we're talking about an outlay of thousands of dollars in terms of time spent on setting up.
Setup costs are just the beginning, of course. There are obviously maintenance costs associated with managing your scripts, automation tools, servers and authentication methods. If your CI build fails, if you need to specify new environments, roll back a release, or reconfigure your deployment script based on the particular set of metadata you're deploying - these are all the sorts of scenarios where you're going to be spending lots of time manually intervening to tweak your process.
In addition, perhaps you need to add backups to Git, or deploy data along with metadata, or just get a new teammate up to speed. Whatever the case, all of these scenarios involve time spent on managing your process rather than on building and shipping features to your end users.
Benefits of an all-in-one Salesforce DevOps tool
The first advantage you get from a Salesforce DevOps solution is ease of setup. What can take 90 hours to build yourself takes just 30 minutes or so of configuration in Gearset. Thanks to full native integration with Git-hosting platforms, deploying in both directions between any Salesforce org and source control system is easy. Configuring a CI job is a straightforward matter of navigating through the intuitive UI, where you can select your metadata filters, specify your tests, integrate your notifications and add any outgoing webhooks.
On an ongoing basis, opting for a complete Salesforce DevOps suite means you don't need to build, manage or maintain a stack of different testing processes. It also means you can easily change or modify your team's workflow without getting bogged down in build agents, deployment scripts or SFDX commands. This makes a solution like Gearset particularly helpful if you have members on your team with less technical knowledge.
When it comes to your day-to-day workflow, Gearset's intelligent deployment engine understands your metadata and ensures more of your deployments succeed first time. You set your metadata filters and Gearset will automatically flag up and resolve common deployment issues to make sure your deployments are successful.
Top-performing teams using Gearset's CI features have a deployment success rate of over 90% when releasing to production. On switching from standard CI/CD tools to Gearset, our customers have reported dramatic reductions in the time taken for each release. In other words, you're saving time on each deployment, plus your deployments are much more likely to succeed. These time savings soon add up to substantial sums saved each month.
Gearset offers you a complete DevOps solution under one roof. It gives you a full history of all the changes made by your team with automatically generated deployment reports for every CI job. Rolling back or cloning a previous deployment to a new environment is just a matter of clicks. And with added data deployments and data backup and restore, your team can seed sandboxes and back up data automatically or when needed from within the same easy-to-use Gearset UI.
Last but not least, Gearset's customer support is second to none. If you do hit a snag, our DevOps experts are on hand and ready to jump on a call. Our Customer Success team boasts an almost 100% customer satisfaction rating and typically answers user questions within a staggering average response time of just a few minutes. And that's for free!
Need more expert advice?
Every team's approach and DevOps requirements are different. If you'd like to know more about how Gearset can help automate your process, why not book a free consultation today? We're always happy to share our expertise and look into how we can help take your process to the next level.