Salesforce deployments that just work
Simon Breslaw on July 13th 2021
Without the right tooling, Salesforce deployments can absorb an enormous amount of your Salesforce team's time. How do you make sure your deployments are successful on an everyday, regular and reliable basis? With its deep understanding of Salesforce metadata, Gearset is the most powerful comparison and deployment engine in the ecosystem. This post highlights the intelligent ways Gearset boosts deployment success and takes the pain and risk out of deploying on Salesforce.
Deploying on Salesforce is hard
Migrating new metadata changes from one Salesforce environment to another is hard. Deployments can fail for any number of reasons. Admins and developers who regularly use Salesforce's native change sets or the Salesforce CLI to run deployments will be all too familiar with these common stumbling blocks and the error messages they generate:
- Missing dependencies
Cannot set sharingModel to ControlledByParent on a CustomObject without a MasterDetail relationship field
- Features in source orgs that aren't enabled in target orgs
Not available for deploy for this organization
- Items that reference users or need certain permissions
In field: siteAdmin - no User named [email protected] found.
- Issues around deploying managed packages and their added components
Cannot modify managed object: entity=CustomPermissionSet, component=<ID>, field=Description, state=installed
- Differences between Metadata API versions of the source and target
Insufficient access rights on cross-reference id:<ID>
- Metadata types not fully supported by the Metadata API
INVALID_TYPE: sObject type <ObjectName> is not supported.
To resolve these deployment issues, Salesforce professionals need extensive and detailed knowledge of the metadata in their orgs. And even if they do have this expertise, teams shouldn't have to dedicate significant resources to tricky deployment processes. Fiddly tools that frequently fail to do the job are an expensive waste of these professionals' valuable time, which could otherwise be spent on more productive development and customization work.
As well as consuming the resources of your Salesforce team, unsuccessful deployments pose a serious risk to your company if new work can't get released to production on time or, worse still, results in unforeseen issues on release that break your existing Salesforce functionality. From a business continuity point of view, issues with releases are a growing concern because ever more companies now rely entirely on the smooth running of their Salesforce instances to manage many of their essential operations.
Getting your Salesforce team to release late on a Friday evening (in case the new release throws up any problems to be fixed over the weekend) isn't an ideal solution. We firmly believe that deployments on Salesforce should be as easy as everything else on the platform. Unfortunately, if your team is using the native Salesforce tooling to run deployments, that's simply not the case. In fact, you're typically looking at a deployment success rate of around 50% - a metric we've used as a benchmark comparison since the birth of Gearset.
Building the most successful deployment tool for Salesforce
Gearset was born when our company's founding engineers implemented Salesforce and realized that Salesforce professionals deserve better than change sets. Deploying with the platform-native deployment tools is just too fragile a process to move new customizations and features along a pipeline to production.
Our developers were used to reliable and automated releases that result from modern DevOps practices, having worked on other software stacks for many years. They were frustrated because the same wasn't the case for their releases on Salesforce - deployments often failed, and UI-based tools like change sets lacked any options for automation. Traditional automation tools used on other platforms weren't the answer either because they weren't built to deal intelligently with Salesforce metadata or the many quirks of Salesforce's Metadata API.
Failing to find an adequate solution, our team set out to build what has since become the most powerful deployment tool for Salesforce. From the very beginning, our focus was on making sure deployments actually succeeded. As well as being a dramatic quality-of-life improvement for Salesforce teams, successful Salesforce deployments are essential if you want automated DevOps workflows.
Gearset now offers a complete DevOps solution for Salesforce teams of all sizes and complexity, but making sure your deployments succeed remains at the core of what we do. To date, Gearset users have run almost 6.5 million deployments and have deployed more than 65 billion items of metadata. Deployments form the basis on which our suite of cutting-edge DevOps tools is built, which is also why we continue to measure our performance by tracking the success rate of our users' deployments. It's a metric we've tracked closely since we first started out building Gearset.
In recent years, our deployment success rate has consistently been over 90%. In other words, Gearset users' deployments succeed an impressive 9 out of 10 times. We're extremely proud of this statistic because it's unmatched by any other Salesforce deployment tool. And we're continually adding even more improvements!
Eliminating common deployment issues
Knowing what to deploy and the impact the changes will have on your target environment is the first step to making sure a deployment succeeds. Deployments in Gearset start with a comparison of the metadata in the source and target environments - any Salesforce org or a Git branch. Gearset retrieves the metadata from the source and target using Salesforce's Metadata API, then compares the two environments. The results of the comparison are then shown to the user in full detail.
In Gearset's comparison view, users can see all the differences between their two selected environments. The differences - metadata items in the source environment that have been changed, deleted or added compared to the target - are displayed side-by-side in table formats with a detailed XML or object view below.
The line-by-line differences show you the items you need to select from your source, giving you a clear idea of the impact the changes will have on your target. You can then quickly select multiple items to build a deployment package. Gearset's unique metadata comparisons and the granular control they give you over what to deploy are a feature that's frequently commented on and invariably impresses our new users.
"With Gearset, I tell new people it's like turning on a black light: you can just see everything that's different. And from there you can decide 'that's relevant, that's not relevant'. You can spot things you'd forgotten about that you need."
Matt Norn | Cloud Technologist | Traction on Demand
Comparisons are just the start. Gearset doesn't just retrieve your metadata from the Metadata API; it also analyzes it semantically to identify the dependencies and relationships between items. Within the comparison view, Gearset shows you each item's dependency tree right within the comparison table:
After you've selected the metadata items to include in your deployment package, Gearset's algorithms check for common deployment issues. These problem analyzers warn you of any number of potential issues that are likely to cause your deployment to fail.
The problem analyzers explain each issue and suggest fixes to the deployment package, which you can accept and implement by checking the relevant boxes in the UI. Gearset then makes sure your deployment succeeds by automatically adding, excluding or editing items in the package. Examples of our problem analyzers include:
- Missing dependencies
- Missing permissions
- Missing picklist values
- Master-detail fields that need to be included
- Features that haven't been enabled in source or target
- Versions of Flows that need to be deleted
- Flow Definitions being used to activate Flows
- Workflow Actions that can't be removed
- Items added by managed packages that can't be deployed
- Objects with no default record type visibility
- And many, many more ...
In total, Gearset has well over 60 problem analyzers (a good number are further documented in our support docs), which run every time before any manual or automated deployment. The problem analyzers are both a real time-saver and an invaluable safety net for teams, as many of our customers have commented.
"Gearset has made it easy for beginners to deploy due to the problem analyzers, which help anticipate potential deployment errors and provide suggestions on metadata that should be included in the deployment package to help the deployment succeed."
Independent customer review on G2
Want to boost your team's deployment success?
Starting a 30-day free trial of Gearset today is the best way for you to see right away how Gearset can dramatically speed up your team's deployment process and release cadence. There's nothing to install in your org and you can get going with comparing and deploying in no time at all. Book a consultation with one of our experts for a detailed discussion of what Gearset can do to help your team. Happy deploying!