The first step in implementing the Azure DevOps pipeline process for Dynamics 365 is to extract/decompose the CRM solution into its individual components. This is done through the solution packager provided by Microsoft. You can download and install the solution packager from this link
After you install the the solution packager on your disk, you will see the following list
You can find the SolutionPackager.exe file in the CoreTools
Open windows powershell command prompt and navigate to the SolutionPackager.exe folder – D:\NuGetTools\Tools\CoreTools
Before we go to the next step, in the CRM instance, create a new empty solution and export the solution, this solution file is a zip file containing the customizations and solutions xml
We will try to extract this solution using the solution packager and see what it looks like. Go back to the powershell command, and type the following
.\SolutionPackager.exe /action:Extract /zipfile:”SolutionfolderPath/SolutionName.zip” /folder “OutputFolder”
Below, I specified where my solution is and the output folder where I want the extract the zip folder contents.
.\SolutionPackager.exe /action:Extract /zipfile:”D:\Other\DevOps\NewDemoSolution_1_0_0.zip” /folder “D:\Other\DevOps\devopsfiles”
Because, our solution was empty, we did not find the Enities, Plugins, Webresources folders. Let’s add few components to our Dynamics CRM solution
Export this solution, and run the SolutionPackager.exe from the powershell again, you’ll notice extraction of the different components
After you navigate to the output folder, you’ll see the different folders
Navigating inside the Entities folder, you’ll notice that the entities are split into their own folders and files containing the forms, views, charts etc.
Now, you can upload the root folder to the Git/GitHub/TFS, or any other repo, and take the next step in the integration of Azure Dev Ops pipeline for CRM.