- Connect at least 2 Salesforce orgs to Blue Canvas.
To start click the Compare tab in the top menu of Blue Canvas.This allows you to select two orgs for deployment and see all of the differences between the 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.
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.
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. 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. Name your deployment request and provide an optional description and click "Create Deployment Request".
Create Deployment Request in Blue Canvas
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.
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 firstname.lastname@example.org.
[)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.
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.
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.
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@example.com and we will troubleshoot it for you.