Application Lifecycle Management (ALM) and Power Apps

Introduction

This article will explain how to apply Application Lifecycle Management (ALM) in Azure DevOps for Power Apps. It will be shown how to set up the required Azure DevOps environment. Furthermore, it will be described how source code/Power Apps can be versioned, quality assurance can be performed and subsequently artifacts delivered to the production environment.

The history of the article is longer. The first draft was already written by me in 2019. In the meantime I have worked on it again and again. What finally kept me from publishing it was, in my opinion, not yet “finished” tooling of the “Microsoft Power Platform Build Tools for Azure DevOps – Power Platform | Microsoft Docs”. The originally available tooling (Azure DevOps Extension) is still available now but has been marked as “DEPRECATED” since the jump to version 0.3.7. Already since the jump from version 0.1.16 to version 0.3.6 the original tooling has been fundamentally revised/improved.

In version 0.1.16, the access credentials (user name/password) had to be stored in plain text to set up the connection. Since version 0.3.6 this authentication can finally be setup using Service Principals.

Authentication methods

Figure: Authentication methods

The old (not recommended) method (yellow) is still available. So the transition to the new option (green) is seamless, even for users who have already used previous versions of BuildTools or have not yet set up Service Principals. When changing to or starting with the current version of the Build Tools, you should always be using Service Principals.

Two versions are available in the Visual Studio Marketplace:

  1. Power Platform Build Tools – Visual Studio Marketplace
  2. (DEPRECATED) PowerApps BuildTools – Visual Studio Marketplace

As described above, this extension [2] is now marked as “DEPRECATED”, so only [1] should be used.
The tools currently available for Azure DevOps are basically a wrapper around the SolutionPackager for D365 Customer Engagement (CRM).

The final architecture, for the integration of Azure DevOps and Power Platform, will look like the following on an abstract level.

Architecture overview

Figure: Architecture overview

Microsoft itself suggests two different approaches for ALM in conjunction with the Power Platform. 1 In this article the first variant is described, where only the source code is versioned, but not the packed solutions. In the context of classical software development this is also the normal way, because usually only source code and not compiled binaries are versioned.

Continue reading “Application Lifecycle Management (ALM) and Power Apps”

Weekly CW17-2020

When you try to focus on one technology, such as Microsoft Azure, as I do, you often forget to think outside the box. Due to the current situation, Google has made all online training materials for the Google Cloud currently available for 30 days free of charge.

Google Cloud learning resources at no cost for 30 days | Google Cloud Blog

Really a good possibility to extend your own knowledge and to look beyond your own nose, if you have not had any contact with GCP before.

If you have had contact with databases as a developer, ask why things are the way they are and what needs to be considered to prevent problems. »Things I Wished More Developers Knew About Databases« is a longer article, but a really good one.

There are several ways to get started using Microsoft Graph. One possible good one is »A Lap around Microsoft Graph Toolkit in Day 1 – An Overview of Microsoft Graph Toolkit«.

Developers who are starting to get involved with Power Apps are often surprised that OOTB there are no popup dialogs in Power Apps. But not everyone needs to reinvent the wheel. Therefore you should use components that have already been developed by others. »Canvas Power App Modal Dialog (Popup) – Power Platform Community« shows one possible way.