Introduction to Multi-Cloud
Multi-Cloud is a set of features that enable you to implement a DevOps process that works with different clouds such as MuleSoft or Heroku.
With Multi-Cloud, you can automate your DevOps process and implement automated or scheduled deployments adding connection behaviors to the different stages in your pipeline.
Let’s take a look at some of the benefits this feature can bring to your team.
- Standardized DevOps process.
- More streamlined process, as everything is under the same tool.
To start working with Multi-Cloud, you need the following licenses and permissions:
- The Copado User and Copado Functions permission sets.
- An Admin or User license. To build the pipeline and deploy to production, you need an Admin license. If you want to commit and promote to other environments that are not production, the User license is enough.
- A MuleSoft or Heroku account.
If you have worked with Copado for Salesforce DevOps, you will find that the Multi-Cloud flow is not that different. The overall process is the same: commit → promote → deploy.
Let’s take a look at what these processes look like for a Multi-Cloud pipeline.
The first thing you need to do is install the plugin for the cloud you are going to work with. Multi-Cloud currently supports Heroku and MuleSoft.
When you install the plugin, Copado automatically creates two automation templates, one for the promotion and another for the deployment. You then need to create the different environments, the project and the pipeline (please refer to the Heroku Plugin Configuration Steps and MuleSoft Plugin Configuration Steps articles for a step-by-step process for setting up your Heroku or MuleSoft pipeline).
This is an example Multi-Cloud pipeline:
Once you are done with the setup, you can start committing and moving your changes across the pipeline.
As with a Salesforce pipeline, the commit process in Multi-Cloud is based on user stories. The only difference is that commits in Multi-Cloud are done through the Copado CLI. This is what a Multi-Cloud user story looks like:
When you commit using the CLI, the commit is linked to the user story, and you can find the committed files on the metadata grid. Once the commit is completed, you can promote that individual user story or navigate to the Pipeline page to promote multiple user stories at once.
The promotion and deployment part is handled by two automation templates; one performs the promotion and the other one the deployment.
The promotion template is responsible for the creation of the promotion branch and the merge of the feature branches of the user stories. This template includes two steps:
- The first step is a Salesforce Flow step that collects the user stories included in the promotion and the promotion branch name and saves this information in a variable.
- The second step is a Function step that creates the promotion branch and merges the feature branches of the user stories into the promotion branch. This information is taken from the previous step (i.e., the Salesforce Flow step) and stored in the field Json Result. This function, unlike the deployment function, is the same for all tools.
The deployment template also includes two steps:
- The Salesforce Flow step gets the destination branch name and the list of user stories.
- The Function deployment step executes the deployment and merges the promotion branch into the destination branch.
Now that you know what Multi-Cloud is, go ahead and see how you can configure a MuleSoft or Heroku pipeline and start deploying your changes. To do this, review the MuleSoft Plugin Configuration Steps and Heroku Plugin Configuration Steps articles.