Skip to main content

Notifications

CICD using Deployment Pipelines in Power Platform

Problem Statement: Implementing CI/CD for Power Platform solutions via Azure DevOps presents challenges in managing dependencies, orchestrating deployments across environments, managing custom configurations, and ensuring comprehensive testing within a streamlined pipeline.

Solution: By leveraging the Pipelines in Power Platform, anyone can setup a healthy CI/CD pipeline for their solutions:

  • Admins easily configure automated deployment pipelines in minutes rather than days or weeks
  • Makers have an intuitive user experience for easily deploying their solutions
  • Professional developers can (optionally) extend pipelines and run them using the Power Platform command line interface (CLI)

Brief Summary:

  1. Install the “Deployment Pipeline Configuration” app.
  2. Set up environment records in Dataverse and create a new deployment pipeline.
  3. Link development environments and add deployment stages.
  4. Deploy solutions using the pipeline and perform preflight checks.
  5. Check the run history of all deployments in the ‘Deployment Pipeline Configuration’ app

 

Steps for detailed streamlined approach:

 

Set up Pipelines:

  1. Navigate to https://admin.powerplatform.microsoft.com
    1. Click Dynamics 365 Apps
    2. Search for pipeline
    3. Install ‘Power Platform Pipelines’ apps in your source environment (development environment)
      (You only need to install the deployment pipelines application in the host environment. You do not need to install it in other environments, such as QA or production environments that will be associated with your pipelines.)
      maqsoftware_0-1718083067858.png
  2. Navigate to https://make.powerapps.com
    1. Select your development environment (where you installed the application)
    2. Play the ‘Deployment Pipeline Configuration’ app
      maqsoftware_1-1718083141791.png
  3. On the left pane, navigate to "Environments" and click "New" to create environment records in Dataverse:
    1. Name: Input the name for the environment record. It's advisable to use a name like the actual environment, such as "Contoso Dev."
    2. Environment Type: Choose between "Development Environment" or "Target Environment." Opt for "Development Environment" for all source environments where unmanaged solutions will be developed. Select "Target Environment" for QA and production environments where managed solution artifacts will be deployed.
    3. Environment ID: Ensure the correct ID is selected. You can locate the environment ID for the current environment within make.powerapps.com. Click the Settings icon on the command bar, then select "Developer resources."
      maqsoftware_2-1718083188561.png
    4. Select Save
    5. Refresh the form, then verify Validation Status equals Success.
  4. Repeat step 3 until all environments that participate in the pipeline have environment records created
    maqsoftware_3-1718083234640.png
  5. Select Pipelines on the left navigation pane, and then select New to create a new deployment pipeline:
    1. Name: Enter a name for the pipeline, such as Contoso Standard Deployment Pipeline
      maqsoftware_4-1718083333556.png
  6. In the Linked Development Environments grid
    1. Click "Add Existing Development Environment"
    2. Link one or more development environments. (A pipeline requires at least one development environment and one stage before it can be executed)
      maqsoftware_5-1718083351697.png
  7. Within the Deployment Stages grid, select New Deployment Stage, to display the quick create pane

    maqsoftware_6-1718083371006.png
  8. Enter the details for each stage, and then select Save and Close:
    1. Name: The name of the stage.
    2. Deployment Stage. For the first stage, or pipelines containing only one stage, this stage should be left blank.
    3. Target Deployment Environment: This is the target environment where this stage deploys to.
  9. Repeat the previous two steps for each stage you would like to add to the pipeline. You must have at least one stage

 

Run Pipelines:

  1. To deploy a solution using a pipeline, go to Solutions and select an unmanaged solution to deploy
  2. From the Solutions area,
    1. Select Pipelines from the left navigation pane
      maqsoftware_9-1718083472054.png
  3. Select the stage to deploy to, such as Deploy to Test, select Deploy here, and the deployment pane appears on the right
  4. Choose deploy Now or schedule for Later, and then select Next on the right pane. This initiates validation of the solution against the test environment. This validation can also be referred to as preflight checks. Missing dependencies and other common issues are checked that might cause a deployment to fail

    maqsoftware_10-1718083497677.png
  5.  Select Deploy. This initiates an automated deployment to the target environment

  6. You can navigate back to ‘Deployment Pipeline configuration’ app and check the run history of all deployments
    maqsoftware_0-1718083593367.png

     

Comments

*This post is locked for comments

  • allamram Profile Picture allamram
    Posted at
    CICD using Deployment Pipelines in Power Platform

    Detailed documentation

  • Chirag2726 Profile Picture Chirag2726
    Posted at
    CICD using Deployment Pipelines in Power Platform

    This content is extremely valuable. 

  • tarunve Profile Picture tarunve
    Posted at
    CICD using Deployment Pipelines in Power Platform

    mind blowing content

  • saurabhK Profile Picture saurabhK
    Posted at
    CICD using Deployment Pipelines in Power Platform

    Thanks! for this structured approach with examples.

  • NaveenReddy Profile Picture NaveenReddy
    Posted at
    CICD using Deployment Pipelines in Power Platform

    Good stuff !!

  • aryanharsh Profile Picture aryanharsh
    Posted at
    CICD using Deployment Pipelines in Power Platform

    Great! Quite informative.

  • sankalpl Profile Picture sankalpl
    Posted at
    CICD using Deployment Pipelines in Power Platform

    Great Article!😃

  • SureshKumarA Profile Picture SureshKumarA
    Posted at
    CICD using Deployment Pipelines in Power Platform

    Such an exciting article!!!

  • ramanujama Profile Picture ramanujama 51
    Posted at
    CICD using Deployment Pipelines in Power Platform

    Nice article with examples.