web
You’re offline. This is a read only version of the page.
close
Skip to main content

Notifications

Announcements

Community site session details

Community site session details

Session Id :
Power Platform Community / Forums / Power Apps / Power Platform <>...
Power Apps
Suggested Answer

Power Platform <> DevOps ALM

(3) ShareShare
ReportReport
Posted on by 14
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?
I have the same question (0)
  • Suggested answer
    crisfervil Profile Picture
    126 on at
    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
  • AlexJohnH Profile Picture
    14 on at
    @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
    126 on at
    @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
    14 on at
    @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
    126 on at
    @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

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

Forum hierarchy changes are complete!

In our never-ending quest to improve we are simplifying the forum hierarchy…

Ajay Kumar Gannamaneni – Community Spotlight

We are honored to recognize Ajay Kumar Gannamaneni as our Community Spotlight for December…

Leaderboard > Power Apps

#1
WarrenBelz Profile Picture

WarrenBelz 739 Most Valuable Professional

#2
Michael E. Gernaey Profile Picture

Michael E. Gernaey 343 Super User 2025 Season 2

#3
Power Platform 1919 Profile Picture

Power Platform 1919 268

Last 30 days Overall leaderboard