Our use of cookies

We use cookies to tailor your experience, gather analytics, and provide you with live assitance. By clicking "Accept" or continuing to browse our site you agree to the use of cookies. For more details please read our Cookie Policy.

DevOps in the world of Power Platform using GitHub Actions

by Danish Ali Detho | O365 & Power Platform Solution Architect

DevOps plays a vital role in the success of any software development project but when it comes to building low-code/no-code solutions it is often neglected or skipped due to the lack of availability of tools to implement DevOps for such solutions. Now, we all know that developing solutions on the Power Platform is fast-paced but when it comes to deploying the solution, then it can be a hectic process especially when we have multiple environments. This is where DevOps comes in and once implemented properly then it will not only speed up the deployment process but will also streamline the process for any future development as well. In this blog, we will talk about the role of DevOps in the Power platform, the options which are available, and finally, we will go through the steps to implement DevOps in the Power platform using GitHub actions.

DevOps in Power Platform

Building solutions in the Power platform is often done rapidly but deployment can be a hassle if it’s done manually.  When a process such as a deployment is difficult or risky, people naturally avoid the process by doing it infrequently or bypassing it entirely. Ending up with inconsistent environments.

DevOps in the Power platform helps in automating build and deployment tasks which helps in defining a process to make sure the deployments can be controlled by the operations and all the environments i.e. Development, Test, and Production always remain consistent.

Power Platform ALM vs Power platform ALM with DevOps

Power Platform ALM Power platform ALM with DevOps

 

Options to implement DevOps in Power Platform

Power Platform Build Tools for Azure DevOps

Azure DevOps is a (SaaS) platform from Microsoft that provides an end-to-end DevOps toolchain for developing and deploying software.  It also integrates with most leading tools on the market and is a great option for orchestrating a DevOps toolchain. Microsoft Power Platform Build Tools can be installed into your Azure DevOps organization from Azure Marketplace. The azure Service principal is used for authenticating and connecting to your Power Platform Environment. The build tools are available at no cost. However, a valid subscription to Azure DevOps is required to utilize the Build Tools.

Github Actions

GitHub Actions is a CI/CD tool for the GitHub flow. You can use it to integrate and deploy to third-party cloud application platforms as well as test, track, and manage code changes. Using Through GitHub actions, we Create workflows in the source control repository to build, test, package, release, and deploy apps; perform automation, and manage bots and other components built on Microsoft Power Platform. 2,000 action minutes/month are available for free (Personal) and 50,000 action minutes/month are available for free (Enterprise).

Power Platform DevOps End to End Process using GitHub Actions

Setup Power Platform DevOps using GitHub Actions

Lets start off by creating two environments one act as Development in which you will create or import a solution and the other act as your test/Production environment where you want to deploy the solution. Make sure both environments has Dataverse.

In the Dev Environment, create or import a solution that you will use for the deployment.

Create a new application in Azure -> Enterprise Registrations and add the API permissions to access the power platform environment.

Create a Secret and then copy the value of the secret, Application ID, and Tenant ID

Add the Azure Service Principal in both environments as App User and grant it the System Administrator role.

That’s all we need to do in the Power Platform, now switch to GitHub and create a Repo (If you don’t have one already).

In GitHub go to Repo Settings-> Actions-> Secrets and create a new secret and in the value add the client secret value from the Azure Service Principal.

Now, we need to create three flows to export the solution from Dev environment, import it to Test/Prod environment and create a release.

Export and branch Solution from Dev

Go to Actions-> New Workflow ->  Setup workflow yourself. name it “export-and-branch-solution.yml” and then copy the yml from here. Make sure to change the value to your environment where it states “#edit your values here”.

Import Solution to Test/Prod with Inputs

Follow the same process to create the next workflow and name it “release-solution-to-prod-with-inputs.yml” and then copy the yml from here.

Call to Release 

Now we will create the final flow using a similar approach and name it “release-action-call.yml and then copy the yml from here”. This flow will be triggered when a release is created and it will call the other two workflows to export the solution and then import it into the Test/Production environment. Update the parameter values with your environment URLs, solution name, and Azure App details.

You should now have three workflows.

Now go to releases and draft a new release and create a new tag for the release and a name for the release. Keep the “This is a pre-release” unchecked and publish the release.

 

This will trigger the “release-action-call” workflow which will then start off the other two flows.

Once the workflow has run successfully, you should be able to see the solution in the destination environment.

 

 

 

 

 

Latest articles

Harnessing the Power of Microsoft CoPilot in Power Automate Flows: A Comprehensive Tutorial

25 Mar 2024

In the ever-evolving landscape of technology and business automation, Microsoft has introduced a game-changer that is set to revolutionize how we […]
[read article]

Embracing AI: Transforming Jobs and Unlocking New Opportunities (Claude 3 Opus version)

18 Mar 2024

The rapid advancements in Artificial Intelligence (AI) have sparked both excitement and fear among workers worldwide. Many people are concerned that […]
[read article]

The Evolution of Work in the Age of AI: A New Era of Collaboration (ChatGPT 4 version)

18 Mar 2024

In the annals of human progress, pivotal inventions such as the steam engine, the tractor, and the internet have revolutionarily altered our way of […]
[read article]

AxioWorks Newsletter February 2024: Partnerships, Upcoming SQList Update, and Summit Invitation

27 Feb 2024

Hello Reader, This February has been pivotal for AxioWorks as we’ve focused on laying strong foundations for the year. Here are the key […]
[read article]

How AxioWorks SQList Aligns With the Priorities of Software Buying Decision Makers

26 Feb 2024

As outlined in the “2024 Global Software Buying Trends” report by Gartner Digital Markets, the criteria that predominantly influence […]
[read article]

Maximising Power BI Reporting from SharePoint: The Strategic Advantage of AxioWorks SQList over Native Connectors

15 Feb 2024

In today’s data-driven environment, making informed decisions rapidly can offer a significant competitive edge. This is where Power BI comes […]
[read article]

AxioWorks Newsletter January 2024: A Promising Start to the New Year!

29 Jan 2024

Hello Reader, We hope this newsletter finds you well and thriving. At AxioWorks, we are embracing the new year with great enthusiasm and are […]
[read article]

Exciting New Partnership and Innovative SharePoint Tools from AxioWorks and Lightning Tools

17 Jan 2024

AxioWorks is excited to announce a strategic partnership with Lightning Tools, a leader in creating innovative SharePoint components. This […]
[read article]

AxioWorks Newsletter November 2023: ESPC23, new partnership, and SQList update!

30 Nov 2023

Hello Reader, Welcome to this month’s edition of the AxioWorks newsletter! We’re thrilled to bring you updates on our recent […]
[read article]

Why Support Legacy SharePoint Versions Like SharePoint 2010?

16 Nov 2023

In the fast-paced world of technology, where new versions and updates are continuously rolled out, a recurring question often arises: “Why […]
[read article]

Get SharePoint and SQL news to your inbox

Stay up-to-date with industry news and trends, SQL and SharePoint innovations and all the latest from AxioWorks by subscribing to our monthly newsletter.

Subscribe to the AxioWorks newsletter

*