VP of Marketing
Hayley Coxon is the Vice President of Marketing and Revenue Operations for Prodly and accidental admin since 2010. You can find her on LinkedIn.
You Don’t Always Need Git for Salesforce DevOps!
If you aren’t yet ready for source-driven development in Salesforce, it’s possible to do continuous integration and continuous delivery, or CI/CD, without version control. We’ll discuss how to do this and why you might want to. We’ll also explain that you can also find your own balance between no automation and source-driven development.
Although many developer-centric Salesforce teams are accustomed to using a version control system (VCS) for CI/CD, it’s not an absolute must-have. You can still achieve the benefits of CI/CD in Salesforce without Git.
To establish continuous integration in Salesforce without version control, start with a best-in-class sandbox management strategy to keep your orgs clean. Then, during the development process, you continually sync configuration changes that have passed integration testing into your developer environments. You do this by pinpointing the changes within the configurations in your integration environment and pushing them back to your Developer sandboxes and scratch orgs.
This ensures your lower-level dev environments are always up to date, which in turn minimizes the chances of bugs and release delays.
With a solution like Prodly Sandbox Management, you can easily manage data and metadata across every environment in your release path without using a Git repository. This is especially helpful for admins and other low-code/no-code users.
Now you have up-to-date developer orgs, it’s time to automate deployments to ensure continuous delivery. The benefits of automating deployments include speed, accuracy, a reduced workload, and a whole lot less frustration.
Using Prodly DevOps, you can bypass data loaders and change sets, and instead, deploy your changes automatically. Prodly DevOps provides easy diff-viewing and pre-built automations for a large number of Salesforce apps, including Salesforce CPQ, Conga Composer, FinancialForce, and more.
What’s more: You can even schedule deployments so they occur after hours, when they won’t disrupt your business users.
One reason to do CI/CD without Git in Salesforce DevOps is that a source-driven development process takes time and effort to set up. You’ll also have to organize training and enablement on a completely new process for your team. Additionally, you have to use the exact same release path every time, which can compromise your agility, especially when it comes to small fixes.
The initial overhead of implementing source-driven development combined with the loss of flexibility often outweighs the benefits gained. Because of this, smaller teams rarely find the upfront investment of setting up a version control system for Salesforce DevOps worth the return.
When it comes to deciding between no automation for release management and source-driven development, it’s important to realize that the Goldilocks principle applies. This means that there’s no predetermined “right” or “wrong” balance between the two. What works for your Salesforce instance might be completely different from what works for another company.
For example, let’s say you can achieve 90 percent of the efficiency gains of CI/CD with automated deployments. If you add version control, it might give you the other 10 percent—but it would likely require an inordinate amount of effort to set it up. In other words, it’s important to weigh the pros and cons of using a VCS and decide on a course of action that will yield the greatest ROI for your specific company.
What is a VCS?
A version control system or VCS is a tool that makes tracking and managing changes to code and configuration easier. By using a VCS, you can ensure you’re always working on the latest version of the configuration. Learn more about version control for Salesforce.
What are the most popular version control systems for Salesforce DevOps?
The most popular version control systems for Salesforce DevOps include GitHub, Bitbucket, Azure, and GitLab.
What is continuous integration for Salesforce?
Continuous integration for Salesforce is the practice of keeping Salesforce development environments in sync with production. It also involves syncing in-flight development work to identify and fix integration issues as early as possible in the development cycle.
In a best-in-class Salesforce development process, changes to data and metadata are continuously integrated across parallel development paths. This way, everyone’s working against the most current configuration of Salesforce.
What is continuous delivery for Salesforce?
Continuous delivery for Salesforce is the practice of automating the delivery of changes to end users in production. A best-in-class Salesforce development process involves making and testing changes in a development environment, i.e. a Developer sandbox or scratch org.
After you’ve approved the changes, you use automation to deploy them through a release path of increasingly production-like orgs. These can include integration, UAT, and staging phases. The ultimate goal is to deliver thoroughly tested work to end-users.
By using automation, continuous delivery for Salesforce accelerates the release cycle and reduces the risk of deployment errors.