Solutions Deployment Pipelines in Power Platform (I)

Damola Ojoniyi
5 min readMar 2, 2024

--

With more organization adopting Power Platform (PP) in developing business critical applications, it is important to factor Application Lifecycle Management (ALM) into the development journey for your organization PP projects. Various ALM tools available in Power Platform includes :
ALM Accelerator, Deployment Pipelines, GitHub Workflows , Azure DevOps Pipelines
All these tools basically deliver the same results but with different processes
This article will focus on Deployment Pipelines for ALM in Power Platform, we will go through setting up your Pipelines and adding deployment stages for a complete ALM Cycle

Prerequisites
ALM Supported Environments ( Development — Test/QA — Production)-Note :(Microsoft documentation stated that Managed Environment are only supported for pipeline environment but at the time of publishing this article unmanaged environment are supported in deployment pipeline)
New Environment for your pipeline(Microsoft recommends an environment host for pipeline)
Azure AD Security group (This is only necessary to support ease of grant access and security roles to your makers)
Stage 1 : Setting up your Pipeline Environment

Create a new environment from your Power Platform Admin Centre
Dataverse Database must be added to your environment

Dynamics 365 Apps must be enabled for the environment

Set the environment to a Managed Environment
Note : If developers environment is selected as the type of environment both dataverse and dynamics 365 apps are enabled

Install Deployment Pipeline Application to the environment
Select the Pipeline Environment > Resources > Dynamics 365 Apps

> Install Apps > Power Platform Pipelines

Note : This takes a few minutes to install the application and the tables in the environment

Add Security roles for the users and administrator in the environment
Deployment Pipeline User: Has privileges to run pipelines that have been shared with them.
Deployment Pipeline Administrator: Has full control over all pipeline configuration, creating and editing pipelines

Stage 2 : Setting Up Pipelines
Sign in to make.powerapps.com > Select the pipeline environment > Solutions

Selected Managed Solutions > App Deployment Model App > Deployment Pipeline Configuration > Play

Adding Deployment Environments to your Pipeline
A pipeline can have one development environment and multiple Target Environments with deployment stages to link the them together

Deployment Pipeline Design

For more guidance on Environment strategy for ALM from Microsoft
Add Development and Target Environments
Environments > New

Enter a name and select Development Environment

Adding Development Environment
Adding Target Environment

Get environment Id from the URL or the Power Platform Admin Center
Environment are added after a successful validation

Create a new pipeline and link environments
Select Pipelines > New > Enter Pipeline name and Description > Save

Link Development Environment

Add existing development environment
Select the Development Environment > Add

Create a Deployment Stage

Creating a deployment stage

Previous Deployment stage will be empty as this is the first deployment stage in the Pipeline and Target Deployment Stage Environment ID will be the Test Environment (First Deployment)
Create another Deployment stage :
Previous Deployment Stage (The first deployment stage to Test Environment
Target Deployment Environment — Production Environment (Second Deployment Stage

Sample of a ALM Pipeline Deployment Stages

This will create a pipeline with 3 Environments :
Starting from Development Environment > Test Environment > Production Environment
Note : The Pipeline will be activated in the environment selected as your Development Environment

Share pipeline with the Read Privileges for users / groups

Using your Pipeline for ALM
Go to your Development Environment
Select an Unmanaged Solution

Deployment Pipeline

Common fix to error encountered by users

  • Ensure users have access to the Pipeline Environment (Basic User and Deployment Pipeline User Security Role)
  • Ensure users have access to the development environment
  • Only Unmanaged solutions can be exported and deployed
  • Ensure users have access to the target environments (This can be also be resolved with delegated deployment)
  • Ensure the pipeline is shared with the users/groups

--

--

Damola Ojoniyi

#PowerPlatformSysAdmin #DevOps #PowerPlatformDeveloper#Security