Using Pipelines in PowerApps

Deploying your solutions via PowerApps was always a bit of a task – whether you did it manually or through Azure DevOps. You always had to remember the steps you did last time and/or write a number of additional steps in a release pipeline that you didn’t quite need. In some cases, all you want to do is move one solution from one development environment to another.

Enter PowerApps Pipelines

In the following screenshot, I’ve setup a Pipeline that is pushing my “AllInOne” solution to an additional tenant (my test environment).

The configuration of a pipeline is pretty simple – select your solution, the source, and the target and you’re good to go. But for me, the process of the pipeline deployment depending on what you have in your solution is where the value lies. One of the “automatic” features I love is the updated versioning of your solution files – this is often forgotten (and then errors out) and is great to see add-on.

In my initial run-through, I just had a few entities/tables and it was a pretty straightforward execution. In my subsequent tests, I added environmental variables and a cloud flow to see how it would handle connection references. The visual walkthrough of how to configure these settings are great for the novice and/or expert.

(Not the greatest environmental variable name, but you get the idea.)

I have to say, the AI-generated context was a nice touch. I’m used to attaching our ticket #s into the solutions, but this gives a great overview to someone running the deployment for the first time of what is actually in the package.

All Managed All The Time

What I think is one of the best functions of the PowerApps Pipelines features is the push for you to deploy to other environments as a managed solution. I’m a big advocate of everything out of DEV having to be a managed solution for many reasons (there is a blog coming on this) and it’s great to see that PowerApps pipelines pushes this mantra as well (unless there is some hidden toggle switch that I am missing).

Historical Context

I didn’t notice it at first, but when you click on “Manage Pipelines” you get some great historical context as to what has happened with your pipeline in relation to its run history.

The Solution Artifacts section has to be one of the best features. I remember writing this code for Azure DevOps pipelines to store our artifacts both before and after in case we needed to access them.

Digging into each artifact you get some great, clean, organized details on the solution.

I would be hard-pressed not to use this in any existing and/or new PowerApps environment. The implementation and learning curve is minimal and the value it provides is huge. I’m looking forward to using this for many of my new projects and adding more functionality into them to see the results.