CoE ALM Accelerator for Power Platform key concepts (Deprecated)

As you deploy and use the ALM CLI, it's important to understand the following key concepts that the CLI is automating.

Note

The CoE CLI is deprecated and will be removed in a future release. Use the Power Platform Project Setup Wizard to set up and manage your ALM Accelerator for Power Platform projects.

Microsoft Entra ID

Microsoft Entra application

The CoE CLI application can create a Microsoft Entra application that automates the following key steps:

  1. User is authenticated via Azure CLI.

  2. Create a Microsoft Entra application using Azure CLI.

  3. Grant tenant consent for applications using Azure CLI.

  4. Azure Application granted rights via manifest configuration file to call:

  5. Client secrets will be created for Azure DevOps service connections.

    • Client secrets should have an established key rotation process to generate new keys for connections.

    • After new keys are generated, old keys should be removed.

Microsoft Entra group

The CoE CLI application can create a Microsoft Entra group that is used for Azure DevOps and Power Platform authentication and role-based access security.

Azure DevOps

Install automation

The CoE CLI application assumes that an Azure DevOps organization and project have already been created.

The install performs the following key steps:

  1. Install Azure DevOps extensions defined in AzureDevOpsExtensionsDetails.json.

  2. Clone Azure templates https://github.com/microsoft/coe-alm-accelerator-templates.git into an Azure DevOps Git repository named pipelines by default.

  3. Create Azure DevOps build pipelines.

    1. Export-solution-to-git.yml - Export a solution from a Dataverse environment and commit it to a Git branch.

    2. Import-unmanaged-to-dev-environment.yml - Import solution into Dataverse environment.

    3. Delete-unmanaged-solution-and-components.yml - Delete or "clean up" an unmanaged solution from a Dataverse environment.

  4. Set up Azure Active Group access to the Azure DevOps project.

  5. Create variable groups for shared variables used by build pipelines.

  6. Create service connections to Power Platform environments using the Microsoft Entra service principal.

    Note

    Each service connection will receive a separate Microsoft Entra secret.

    More information: Service connections

Branch automation

The CoE ALM branch command performs the following steps:

  1. Create a new branch to store the solution.

  2. Create build pipelines for the solution branch (validation, test, production).

  3. Create Branch Policies to ensure validation build completes successfully for pull requests.

Other concepts

In addition to install automation the following concepts are also assumed for makers.

  1. A Git branching strategy

    • The ALM commands assume a branch per solution.

    • Changes merged back into main branch can be promoted to production environment.

  2. Manage pull requests to merge changes into solution branches using a pull request.

Power Platform

Automation

The CoE CLI provides the following key steps:

  1. Imports a managed solution into the environment to allow makers to manage Git import, create branches, pull requests, and updates to test and production.

  2. Fix custom connectors used to connect to Azure DevOps.

  3. Connect a flow to Dataverse.

  4. Add the user to the Microsoft Entra service principal to the Power Platform environments.

  5. Share the canvas application with the maker Microsoft Entra group.

Environments

The CoE CLI commands assume the following environments have been created https://aka.ms/ppac as a global administrator or environment administrator with the following configuration:

  • Dataverse is enabled.

  • Microsoft Entra service principal is granted administration role rights.

Assumed environments

The ALM Accelerator for Power Platform assumes the following environments have been created and configured:

  1. Maker environment - An environment that the ALM Accelerator for Power Platform will be installed to. It also requires the following component:

    • "Microsoft Dataverse (legacy)" connection - More information: Before you start.
  2. Validation - Environment used to validate the deployment before a change is merged into the feature branch.

  3. Test - Environment used to validate changes before merging into production.

  4. Production environments - Environment used to deploy the production ready application.