In our previous blog, we introduced Power Platform pipelines—a tool that simplifies CI/CD for low-code development. But what happens when your deployment needs exceed the basics? For teams managing complex solutions, the limitations of Power Platform pipelines can become roadblocks. That’s where Microsoft Power Platform Build Tools for Azure DevOps come into play. These tools deliver advanced features like version control, multi-environment testing, and customizable release workflows, empowering developers and enterprises alike to scale their CI/CD processes. Let’s explore how they work and why they’re essential for robust Power Platform development.
Microsoft Power Platform Build Tools integrate directly with Azure DevOps, enabling teams to implement a more comprehensive CI/CD pipeline that goes beyond basic automation. With these tools, organizations can combine advanced functionality like version control integration, multi-environment testing, and detailed release workflows tailored to fit enterprise needs. In this blog, we’ll explore how these tools work, the benefits they bring to low-code development, and how they can help organizations achieve a robust and flexible approach to CI/CD on the Power Platform.
Thomas Goldberger and Gurpreet Bhadesh explore Advanced Azure DevOps Pipelines for Power Platform in our 'Let's Talk DevOps' video talk show!
Prerequisites for Microsoft Power Platform Build Tools
A few configurations are required before building a CI/CD pipeline in Azure DevOps by using components of the Microsoft Power Platform Build Tools. Here’s an overview:
Azure Portal
- Azure AD App registration
- In Azure Portal select Microsoft Entra ID -> App registrations -> +New registration -> Supported account types: Accounts in this organizational directory only -> Register -> Make a note of the Application and Tenant ID - Add API permissions
- In Azure select the app -> API permissions -> Add a permission -> APIs my organizations uses -> Dataverse -> Delegated permissions -> Add permissions -> user_impersonation - Generate client secret
- Certificates & secrets -> +New client secret -> Note down the secret value
Power Apps portal
- Create system user in Dataverse pointing to Azure AD App registration
- In the Power Platform admin center select Settings -> Users + permissions -> Users -> Application users -> +New app user -> +Add an app -> select the app created from the Azure AD app list -> click Add -> Business unit -> then under Security roles, select System Administrator -> click Create
Azure DevOps
- Create Azure DevOps pipeline
- In Azure DevOps select Project settings -> Pipelines -> Service connections -> click New service connection -> search and select Power Platform -> then provide the service connection details from previous configuration -> Save
Power Platform Build Tools
- Install Power Platform Build Tools extension
- Browse extension -> select your Azure DevOps organization -> click Install
Once the pre-requisite steps are completed, we can start building out the pipeline and use different components to automate the CI/CD pipeline. We will start by exploring some of the components we used to create an end-to-end CI/CD pipeline.
Components used in the Azure DevOps pipeline
Once the prerequisites are fulfilled, building a CI/CD pipeline involves using several key components. Each of them plays a critical role in automating and streamlining the process:
- Power Platform Tool Installer
The Power Platform Tool Installer is essentially a foundational task that ensures the necessary Power Platform CLI tools are installed with the latest versions. Thus, this is required before any further components or tasks are executed in the pipeline.
- Set a solution version
Setting a solution version in Azure DevOps for Power Platform Build Tools is crucial for maintaining a coherent and structured release process. The solution version number, typically in the format "major.minor.patch," serves as a unique identifier for each release of a solution, helping to track incremental changes, patches, and major updates. Updating this version automatically in a CI/CD pipeline ensures that each deployment reflects the most current version, reducing confusion and helping both developers and users clearly distinguish between releases and version numbers.
Automating the solution versioning process in Azure DevOps enables development teams to implement best practices for version control without adding manual steps. By leveraging the Power Platform Build Tools, teams can specify the solution version as part of the pipeline, making it easy to modify version numbers for specific environments (e.g., testing, staging, or production) as required. This enables organizations to enforce versioning policies and maintain traceability across the application lifecycle, which is essential for auditing, rollback scenarios, and compliance requirements.
- Power Platform Checker
The Power Platform Checker is an automated quality control tool that analyses Power Platform solutions for best practices, code quality, and compliance with Microsoft’s recommended standards. When used in a CI/CD pipeline, the checker assesses components, such as custom code, workflows, and entity customizations, and identifies potential issues that could impact performance, security, or maintainability. Embedding this checker as part of the build or deployment process ensures that organizations can identify issues early in the development lifecycle, in turn ensuring that each solution adheres to quality standards before it progresses to testing or production environments. This reduces manual code reviews and reduces the risk of deploying faulty configurations.
Additionally, the Power Platform Checker provides detailed reports that highlight specific areas for improvement, such as inefficient queries, deprecated code, or unoptimized workflows. These reports provide visibility on issues, allowing developers to address issues before they become problematic in production. This proactive approach to quality control ensures a high standard for solutions across different environments, ultimately leading to a user experience that is much more stable and reliable.
- Export Solution
The Export Solution function in Azure DevOps allows developers to retrieve and package the latest version of a solution from a Power Platform environment. When a solution is exported, it gathers all the components, customizations, and configurations within that solution into a downloadable .zip file. This export process is needed to get a specific version of the solution as it exists in the development environment, ensuring that each customization or addition is included. By automating the export step in Azure DevOps, teams can standardize solution retrieval, making it a seamless part of the development workflow, thus reducing the need for manual intervention.
Exporting the solution ensures consistency across different environments. Once the solution is exported and stored as an artifact, it can be deployed directly to other environments such as testing, staging, or production. Thus, providing a reliable, traceable way to move solutions through the application lifecycle while minimizing the risk of discrepancies between environments. Additionally, by incorporating the export process into the DevOps pipeline, teams can establish a clear version history of solution changes, which aids in troubleshooting, rollbacks, and audit compliance. The automation of the export process enhances quality control, helping to ensure that what has been tested in development will also perform in production.
- Publish customizations
The "Publish Package to Feed" feature allows teams to upload solution packages to a centralized feed, making them easily accessible to other pipelines and projects within the organization. In doing so, teams can store a versioned copy of the solution that is ready for deployment, allowing consistent access to specific versions of the solution for further testing, staging, or production deployment. This centralization reduces the risk of deploying incorrect versions and ensures that any solution package used across environments is reliable, tested, and verified. Thus, reinforcing a standardized approach to version control, where every release is tracked and available for future deployments.
In addition to improving accessibility, it supports smoother collaboration and development processes. Teams can simply retrieve specific versions of a solution package from the feed, allowing developers and testers to work independently. This is particularly valuable for organizations that have multiple teams working on complex solutions, as it provides an organized, controlled environment for managing solutions and their dependencies. Additionally, by utilizing feeds for package storage, organizations benefit from traceable records of each release, aiding in audits, compliance, and efficient rollbacks if needed.
Building the pipeline
After setting up the prerequisites and understanding the components, let’s look at the high-level structure of an Azure DevOps pipeline:
Figure 1: High-level pipeline configuration
The high-level pipeline configuration is split out into three key areas. We will discuss each area in detail and illustrate the process within the Azure pipeline we have developed.
Parameters
The first area is parameters, which tends to be referenced at the beginning of the pipeline and can be referred to anywhere in a pipeline. Parameters are effectively variables used in a function, and it refers to a piece of data that is specified as input to the function. We start by putting some parameters in place. As can be seen from the image below, one is for the version number and the other one is for the environment to which we would like to deploy the solution.
Figure 2: Parameters within the pipeline
Pipeline tasks
The second area is pipeline tasks, which must be executed in a particular order to ensure the correctness and logical flow within a pipeline. As can be seen from the image below, the artifact upload is a crucial step in the pipeline as it addresses many of the shortcomings of the pipelines in Power Platform approach, thus it enables developers to have a single source of truth and version control in place. This stage begins by installing the Power Platform Tool Installer, which is essentially a foundation task that ensures the necessary Power Platform CLI tools are installed with the latest versions. The next step is to set the solution version number which was defined in the previous stage. Once this is done, the solution can then be exported. Thus, the Power Platform Export Solution task is run and is followed by the Power Platform Checker.
Figure 3: Pipeline components
This then creates a package which is uploaded to Artifacts and the final stage is to decide which environment this should be pushed to.
Figure 4: Artifact upload
Environments
The third and final area is the environment to which the solution must be deployed to, and this refers to a parameter which we have defined at the beginning of the pipeline.
Figure 5: Publish to environment
Conclusion
Microsoft Power Platform Build Tools for Azure DevOps provide a structured and robust approach to implementing a CI/CD pipeline tailored for low-code development environments. By utilizing components like the Power Platform Tool Installer, solution versioning, export solution, Power Platform Checker, and Publish to Feed, organizations can enhance the efficiency, reliability, and scalability of their application lifecycle management.
These components make it possible to automate solution packaging, version control, and quality checks, ensuring that solutions are thoroughly tested, versioned, and ready for deployment. This reduces manual intervention, streamlines workflows, and minimizes the possibilities of human error, allowing teams to release updates at a quicker pace with greater confidence.
The Power Platform Build Tools further support collaboration and traceability, which are critical in large, complex development environments. With each component working in tandem, the pipeline presents a clear version history, traceable artifact management, and quality assessments, fostering a stable, scalable solution deployment process.
As low-code adoption grows, the demand for robust CI/CD practices will only increase. Microsoft Power Platform Build Tools offer a comprehensive, customizable CI/CD solution that meets the demands of low code/no code applications, empowering both Citizen Developers and enterprise teams to manage their solutions effectively, all the way from development to production.
Catch our DevOps experts, Thomas and Gurpreet, live at International Software Quality Days in Munich on May 22, 2025 for a deep-dive into CI/CD for Low/No-Code Development!