Skip to main content
Community site session details

Community site session details

Session Id :
Power Apps - Power Apps Governance and Administ...
Suggested answer

Power Platform <> DevOps ALM

(3) ShareShare
ReportReport
Posted on by 4
I'm currently trying to implement ALM within Power Platform - leveraging Power Platform Build Tools & DevOps Pipelines.
 
I've got it all working - having an input parameter to enter the solutionName then exporting the solution, unpacking it, committing it to source control and deploying it upstream. My question is to the people who have this deployed and work with ALM - how do you handle multiple solutions within Power Platform?
 
As we have a solution model similar to the below:
 
010 - Web Resources
020 - Choices
030 - Security Roles
040 - Tables
050 - Processes
060 - Plugins
070 - Plugin Steps
080 - Flows
090 - Dashboards
100 - Model Driven Apps
 
I wouldn't want to have to run a DevOps pipeline 10 times and enter the solutionName parameter each time?
  • Suggested answer
    crisfervil Profile Picture
    111 on at
    Power Platform <> DevOps ALM
    @AlexJohnH you need to separate the deployment process in two: The Pipeline and the Release.
     
    The Pipeline exports the solutions, once per solution. Here you can implement the optimization we mentioned and export only what it was selected by the developer.
    At the end of the Pipeline, you need to create Artifacts. The Artifacts are the ouputs of the pipeline and it must contains the zip files for all the exported solutions.
     
    The second part of the story is the Release. The release will take whatever Artifacts are created by the Pipeline, and it will deploy them to every environment you define.
     
    You still need to configure the steps required to deploy to each environment, but once the first is done, the rest is copy and paste job.
     
    More info:
     
     
    This is that the release looks like.
    Release Notes, 2019 RTW - Azure DevOps | Microsoft Learn
    I hope it helps!
    Cris
  • AlexJohnH Profile Picture
    4 on at
    Power Platform <> DevOps ALM
    @crisfervil I did fear that I'd have to have 10 export solution tasks in my pipeline.
     
    So when I come to deploying the solutions to different environments- will I need 10 import tasks as well per environment? I'm deploying to 4 environments, so that would be 40 import tasks which seems slightly crazy...
  • Suggested answer
    crisfervil Profile Picture
    111 on at
    Power Platform <> DevOps ALM
    @AlexJohnH Take a look at the example in the documentation. It shows how to iterate through the parameters.
     
    But if you use boolean parameters, you don't need to iterate through them. Just check each one, and deploy that solution if the value is ticket.
     
    Then, call the Power Platform Build Tools Export Solution task for every solution. Is the same code copied 10 times, with a different solution name.
     
     
  • AlexJohnH Profile Picture
    4 on at
    Power Platform <> DevOps ALM
    @crisfervil I was trying to initially have boolean parameters in the DevOps Pipeline for each solution and the user could tick each one they'd wish to export at runtime.
     
    But I couldn't get the Power Platform Build Tools Export Solution task to loop through each solution and export them?
  • Suggested answer
    crisfervil Profile Picture
    111 on at
    Power Platform <> DevOps ALM
    Hi Alex, 
     
    The options I can think of:
     
    1. Export all the solutions on every run of the pipeline. Simplest. The solutions will always be imported in the right order.
    2. Group similar solutions together, and have a pipeline that exports all the solutions of the group every time. For example, Tables and Choices will most likely go together.
    3. Configure your pipeline with a parameter type number. Each solution will have a base 2 number associated, for example:
    1 - Web Resources
    2 - Choices
    4 - Security Roles
    8 - Tables
    16 - Processes
    32 - Plugins
    If the user wishes to export Tables and Plugins, then will input 8+32 = 40 in the parameter. 
    Your pipeline will have to check the number input, and decide what solutions to deploy.
     
     
    I vibe coded the yaml code for the last otion. This is the result:
    # azure-pipeline.yaml
    trigger: none
    
    parameters:
    - name: Solutions
      type: number
      default: 2
      values:
        - 1
        - 2
        - 4
        - 8
        - 16
        - 32
    jobs:
    - job: EvaluateSolutions
      displayName: 'Evaluate Selected Solutions'
      steps:
        - ${{ if eq(parameters.Solutions & 1, 1) }}:
          - script: echo "Solution 1"
            displayName: 'Export Solution 1'
    
        - ${{ if eq(parameters.Solutions & 2, 2) }}:
          - script: echo "Solution 2"
            displayName: 'Export Solution 2'
    
        - ${{ if eq(parameters.Solutions & 4, 4) }}:
          - script: echo "Solution 4"
            displayName: 'Export Solution 4'
    
        - ${{ if eq(parameters.Solutions & 8, 8) }}:
          - script: echo "Solution 8"
            displayName: 'Export Solution 8'
    
        - ${{ if eq(parameters.Solutions & 16, 16) }}:
          - script: echo "Solution 16"
            displayName: 'Export Solution 16'
    
        - ${{ if eq(parameters.Solutions & 32, 32) }}:
          - script: echo "Solution 32"
            displayName: 'Export Solution 32'
    
     
     
     
     
     
     
    I hope it helps!
    Regards, 
    Cris

Under review

Thank you for your reply! To ensure a great experience for everyone, your content is awaiting approval by our Community Managers. Please check back later.

Helpful resources

Quick Links

Paul Stork – Community Spotlight

We are honored to recognize Paul Stork as our July 2025 Community…

Congratulations to the June Top 10 Community Leaders!

These are the community rock stars!

Announcing the Engage with the Community forum!

This forum is your space to connect, share, and grow!

Leaderboard > Power Apps

#1
WarrenBelz Profile Picture

WarrenBelz 791 Most Valuable Professional

#2
MS.Ragavendar Profile Picture

MS.Ragavendar 410

#3
mmbr1606 Profile Picture

mmbr1606 275 Super User 2025 Season 1

Featured topics