Deploying Metadata between Salesforce orgs

Use Blue Canvas to compare two orgs, cherry-pick changes from a source org, and deploy them to a target org.

💡 Before you begin, make sure that you have at least two Salesforce orgs connected to Blue Canvas.

Compare two Salesforce Orgs

To start click the Compare tab in the top menu of Blue Canvas. This lets you select two orgs for deployment and see all of the differences between these orgs.

The Destination is the org that you want to deploy into and the Source is the org that you want to deploy from. Click Compare.

Compare Salesforce orgs with Blue Canvas

You can now see the differences between your source and target orgs. You can select Side-by-side, Inline, or Hide whitespace changes to change the way your diff is diplayed.

Create a new Deployment Request

Next create a Deployment Request by clicking Create Deployment Request. Note: you will be able to select and deselect which files are included in the next step.

A Deployment Request is like a Pull Request. It's a request to merge code from one Git branch into another, except here you're pushing changes from one Salesforce org to another. When you create the Deployment Request, Blue Canvas will check for merge conflicts and run a validation to make sure that the changes are ready to deploy (read our blog to learn more). Name your deployment request and provide an optional description.

967

Create Deployment Request in Blue Canvas

Cherrypick Files and Objects

As you create a Deployment Request you can cherrypick files that you want to include in the deployment. This allows you to selectively deploy only the files that are ready to go.

👍

Salesforce DX Format

Blue Canvas can automatically convert your source control directory structure to the Salesforce DX format. This allows you to cherry pick files at an even more granular level. You can deploy specific fields or Workflow Rules for example rather than deploying the entire object.

To enable this feature, email us at [email protected].

Select Tests

When creating a deployment request you have the option to run Apex tests. By default there are a few options you can choose from:

Minimal. Selecting “Minimal” runs the minimum number of tests that Salesforce requires for the target org (Salesforce requires 75% test coverage for production deploys for example). If you are deploying to production, Blue Canvas will trigger and run all tests when selecting this option. If you are deploying to a sandbox, no tests will run as Salesforce does not require any tests to run for sandbox deploys.

Run Local Tests. This option will run all tests in your organization except ones that originate from installed managed packages. This test level is the default for production deployments that include Apex classes or triggers. This is a great option to run tests that you’ve written and which are under your control but ignoring those that may come with managed packages or installed apps. It can be a big time and frustration saver.

Run All Tests. This option runs all tests in your Salesforce org, including third-party tests from managed packages.

Run Specified Tests. This option allows you to determine which tests you specifically want to run. This is great for deployments to staging sandboxes and provides you with the most control possible. To list specific tests simply list the names of your test classes separated by a comma.

Quick Deploy

When you create a Deployment Request, we automatically check for merge conflicts and run a Salesforce validation. If both checks complete successfully, and any tests you want to run pass, you have the option to Quick Deploy. This will complete the merge and deploy code to the target org in one simultaneous and automated step. 🚀

Deploying between Salesforce orgs with Blue Canvas

Merge Conflicts

Merge conflicts occur when your target org has seen changes to the same file that the source org is trying to update since the last merge between source and target. This can occur because someone logged into the target org and manually made a change or because they deployed a change to the target org from their sandbox.

Blue Canvas and Git are good at detecting these changes and blocking you from overwriting the target org's changes without a manual review. If Blue Canvas detects a merge conflict, it will display it in a UI.

Solving Salesforce Merge Conflicts with Blue Canvas.

To resolve the merge conflict simple select if you want to keep the changes in the target or the source org and click Mark as resolved. Read our dedicated blog to learn more about solving merge requests with Blue Canvas.

Troubleshooting

If your validation fails, you will see a log which clearly states which components are causing trouble in the deploy. You can use this to debug or cherrypick to ignore the files which are causing issues.

❗️

Unexpected Prepare Error

If you get an unexpected prepare error or don't understand your error log, please email us at [email protected] and we will troubleshoot it for you.