In my previous blog, I have clearly explained how to construct an azure DevOps build pipeline which will generate zip file of respective CRM solution. This blog will walk you step by step on constructing a release pipeline. We can execute the release pipeline against any previous successful builds, where the release pipeline will deploy the zip file extracted from build into target CRM environment.
Step 1: Try to create a new release pipeline. Every release pipeline has 2 stages: Artifacts stage where we can select the source of zip file and the other stage where we input trigger, target environment, gates or even insert multiple stages.
Step 2: Add new artifacts as shown in below screenshot. Remember, we are getting the artifacts from previous successful runs of the build pipeline.
Step 3: Enter the pre-deployment conditions. It is self-explanatory and I am leaving to the reader to try and explore different features which are part of this pre deployment stage like schedule, pre-deployment approval, gates etc as per your business requirement.
Step 4: Add following tasks to release pipeline (follow procedure similar to build pipeline for adding tasks) under UAT stage block. Add MSCRM tool installer task. If you don’t find the task, then go to the Azure DevOps marketplace and select MSCRM add-in which is available at free of cost to your organization.
Step 5: Create a new variable deploy.solutionName which can be set at run time so users can select the name of the solution to be deployed into target environment. In step 6, this is used as a parameter to find the zip file to be imported into CRM.
Step 6: Add MSCRM Import Solution task and provide necessary credentials to login to target environment.
Step 7: Add another task MSCRM publish customizations which will publish all the customizations after CRM import solution is completed
In this release pipeline, we have only added one stage regarding the UAT environment to which we are deploying the solution. But in real time, you can add multiple stages where each stage can represent one CRM tenant (like production or pre prod etc.) and impose some restrictions like approval from set of users or gates before deploying the solution from one CRM tenant to another.
*This post is locked for comments