SYNOPSIS
The goal of this blogger is to aid in the ALM process for model-driven-apps.
DESCRIPTION
Most of the projects are adopting to ALM process where it can follow the agile methodologies and release the project in sprint models. so that release can be smooth and it can be easily tracked.
To achieve this sprint model development. Developers need to create sprint wise solutions in the D365 CRM to move them to the higher environments based on sprint cycle. They need to check in their code into the git repository using git commands to track the changes. All the changes in the repository need to be linked with azure build and release pipelines to release those changes to higher environment.
PREREQUISITES
1. Need to have Azure Devops, Power apps and D365 CRM subscription with global admin role for setup. On Local Machine : Need to Install Vs code, Git, Power Apps CLI, Azure CLI
2. Git should be installed
3. Powerapps CLI should be installed - https://docs.microsoft.com/en-us/powerapps/developer/data-platform/powerapps-cli#solution
3.1 After installing Powerapps CLI, run the command: pac install latest
4. Azure CLI should be installed - https://docs.microsoft.com/en-us/cli/azure/install-azure-cli-windows?tabs=azure-cli
4.1 After installing Azure CLI, install azure-devops extension by running the command: az extension add --name azure-devops
4.2 Run: az login --allow-no-subscriptions
4.3 Run: az devops configure -d organization=https://dev.azure.com/<Proj>
4.4 This command enables using commands with git pr alias. Run: az devops configure --use-git-aliases true
4.5 Run: az devops configure -d project=<test>
5. Copy of the git repo should be present
PROCESS:
Developers need to create solutions on Power Apps like MDA, Flows, Workflows, Portals. They need to work on these solutions in the dev environment in unmanaged form based on the sprint tickets.
Once the sprint is completed, they need to export the solution using pac commands and push those changes to GIT repository using git commands
Once all the changes are in GIT with in the sprint branch.
Release Manager should create a pull request to Test branch, so that all the changes from the test branch will be release to the respective test environment thru Pipelines.
a. Creating branches
on Azure Devops :
Need to create sprint branch and set the policies to restrain commit directly to the branch
Once sprint branch is created, Developers need to create their own branches from the sprint branch and commit their changes to the child branches and create a pull request to the sprint branch.
Once the branches are created we need to follow the strategy
Main branch should contain all the changes which are going to production
From Main branch -- User acceptance branch need to be created where it need to be pointed to UAT
From UAT branch - Test branch need to be created
From Test branch - Sprint branch need to be created
From Sprint branch - all the developers need to create respective child branches and commit their changes to the child branch and create a pull request to the sprint branch.
Developers need to export the solutions like MDA, Flows, Workflows, Portal extract them and push to the git
From Local Machine : in visual studio command line interface
need to check weather power apps and azure cli are installed
once installed, Need to create Authentication to the CRM Organisation
pac auth create --url <https://crmorg.crm.dynamics.com>
using credentials login to the environment and export the respective solution in to the local repository
pac solution export --path <c:\Users\Documents\SolutionMDA.zip> --name SampleComponentSolution --managed true --include general
once solution is exported unpack the solution and add it to the git repo
pac solution unpack --zipfile C:\SolutionMDA.zip.zip --folder .\SolutionMDAUnpacked\.
push these unpacked changes to the git repository and raise a pull request to the test branch.
From Test branch pipelines will be configured
Pipeline Setup
Make sure you have installed the Power apps tools in the market place
Once the repo is ready, In the pipelines need to create a build pipeline and create a artifact
pointing to the solution in the repo need to create a build pipeline and need to pack the solution and push the managed solution to the build artifact
from build artifact, need to create a release pipeline with different stages like test, uat, prod
each stage should be linked with each other and need to create this stage on build pipeline to capture the latest build pipeline artifact
Release the changes to the respective environment and this will repeat for every sprint
Comments
Post a Comment