Lösungsverwaltung automatisieren

Abgeschlossen

In diesem Modul haben Sie bereits erfahren, wie äußerst praktisch Lösungen sein können, um den Überblick über Ihre App-Teile zu behalten und sie manuell zwischen verschiedenen Orten zu verschieben. Untersuchen wir nun, wie Sie die Automatisierung Ihr App-Management durch das Application Lifecycle Management (ALM) noch effektiver machen können. Bei ALM geht es nicht nur darum, eine App zu erstellen. Dies deckt alles ab, von der Festlegung von Regeln (beispielsweise Anforderungen) bis hin zur Entwicklung und Aufrechterhaltung eines reibungslosen Ablaufs. Lösungen verhalten sich wie wichtige Akteure Ihrer ALM-Strategie, zusammen mit anderen hilfreichen Tools wie Azure DevOps oder GitHub.

Ein Lösungsarchitekt Ihres Projekts entwirft in der Regel den ALM-Plan und ein Experte in DevOps führt die Einrichtung der Automatisierung durch. Als Mitglied des Teams ist es Ihre Aufgabe, in den Prozess eingebunden zu bleiben. Dazu verwenden Sie das ausgewählte Verwaltungstool für Ihre Aufgaben und behalten Ihre App- und Flow-Änderungen mit Lösungen im Auge. Die ALM-Automatisierung übernimmt dann, wenn dieser Teil erfolgreich abgeschlossen wurde. Dies löst eine Reihe von Aktionen aus, die Ihre Änderungen automatisch von der Entwicklung zum Testen und dann zur Produktion übertragen. Für jeden Schritt werden möglicherweise einige Genehmigungen benötigt, um sicherzustellen, dass alles auf dem richtigen Weg ist. Stellen Sie sich den Anwendungslebenszyklus als einen nie endenden Zyklus der App-Entwicklung vor, der das Planen, Erstellen, Testen, Bereitstellen, Ausführen, Überwachen und Lernen aus dem, was Sie unterwegs entdecken, umfasst.

Diagramm des Anwendungslebenszyklus-Entwicklungsprozesses

Während alle Aktionen manuell ausgeführt werden können, stellt die Automatisierung sicher, dass sie bei jeder Ausführung konsistent durchgeführt werden. Sie können auch dann noch ausgeführt werden, wenn z. B. die Person, die die manuellen Aktionen ausführt, krank ist. Auf DevOps fokussierte Tools wie Azure DevOps oder GitHub sorgen für die Automatisierung, bieten aber auch die Nachverfolgung von Work-Items und eine Versionsverwaltung.

Versionsverwaltung und Lösungen

Die Quellcodeverwaltung, die sich in Tools wie Azure DevOps und GitHub befinden, ist wie eine hervorragende Versions-Nachverfolgung für alle Teile Ihres Projekts. Nehmen Sie an, dass Sie an einer Power App arbeiten und Änderungen vornehmen. Bei jeder Durchführung dieses Vorgangs ist es so, als würden Sie eine neue Version von Ihrem Projekt erstellen. Zudem können Sie „Arbeitselemente“ verwenden, um zu notieren, welche Änderungen Sie vorgenommen haben. Diese Notizen können Sie dann mit der Version verknüpfen. Dies hilft Ihrem Team dabei, den Überblick darüber zu behalten, wann Dinge verändert wurden, und ermöglicht Ihnen, alle Änderungen rückgängig zu machen, die Probleme verursacht haben. Während Ihr Team sich also damit befasst, eine neuere Version zu erstellen, kann die aktuelle Version weiterhin verwendet werden.

Die Quellcodeverwaltung ist im Application Lifecycle Management (ALM) äußerst wichtig, da sie für Ihr Projekt die ultimative Quelle der Wahrheit darstellt. Auch wenn Ihre Entwicklungsumgebung abstürzt, gibt es keinen Grund zur Sorge. Sie können dies mit den in der Quellcodeverwaltung gespeicherten Informationen neu erstellen. Die Versionsverwaltung macht Entwicklungsumgebungen auf eine Art und Weise austauschbar. Wenn Sie Dinge zum Testen oder zur Produktion senden, übermitteln Sie tatsächlich das, was sich in der Quellcodeverwaltung befindet, und nicht nur etwas Zufälliges aus Ihrem Entwicklungsbereich.

Wenn Sie eine Lösung aus Ihrer Umgebung exportieren, ist das so, als würden Sie alles in eine große Datei packen. Wenn Sie diese Datei einfach in die Quellcodeverwaltung übernehmen, kann sie Ihnen nur mitteilen, dass sich etwas geändert hat, aber nicht genau, was sich in den einzelnen Teilen geändert hat. Wir fügen dem Automatisierungsprozess einen Schritt hinzu, um dies noch nützlicher zu machen. In diesem Schritt werden die Lösung aus Ihrem Entwicklungsraum geholt, entpackt (wie das Öffnen eines gepackten Koffers), und für jeden Teil werden separate Dateien erstellt. Dann werden diese separaten Dateien in die Quellcodeverwaltung übernommen. So behalten Sie einen detaillierten Überblick über alle Änderungen. Zudem eröffnet es die Möglichkeit, mehrere Entwicklungsumgebungen zu haben, die alle den Änderungen in der Quellcodeverwaltung folgen, wodurch die Wahrscheinlichkeit verringert wird, dass sich Änderungen gegenseitig durcheinander bringen.

Mit DevOps-Tools automatisieren

Die Automatisierung ist wichtig, weil sie einen ansonsten manuellen Prozess konsistent gestaltet. Einmal erstellt, können Automatisierungen bei Bedarf, nach einem Zeitplan oder basierend auf einem Check-In Ereignis ausgeführt werden. Es gibt zwar viele Tools, die Sie für die Implementierung der Automatisierung verwenden können, aber Azure Pipelines und GitHub Actions bieten beide eine standardmäßige Unterstützung für Power Platform-Aufgaben und -Aktionen.

Was können Sie automatisieren?

Es gibt eine breite Palette von Dingen, die automatisiert werden können, da die Automatisierung einfache Aufgaben oder Aktionen ausführt. Stellen Sie sich dies wie Power Automate-Flows vor – jedoch für die Arbeit mit der App-Verwaltung und -Bereitstellung. Im Folgenden finden Sie einige der grundlegenden Automatisierungen, die in Power Platform-Projekten vorkommen können:

  • Erstellen einer neuen Entwicklungsumgebung und Installieren von Lösungen aus der Versionsverwaltung

  • Übernehmen von Änderungen aus der Entwicklungsumgebung und Aktualisieren der Versionsverwaltung

  • Solution-Checker zur Identifizierung von Qualitätsproblemen ausführen

  • Umgebungen bereitstellen und Bereitstellung aufheben

  • Automatisierte Tests einschließlich Power Apps Test Studio-Tests ausführen

  • Verwaltete Lösungen aus der Versionsverwaltung für das Bereitstellen in nachgelagerten Umgebungen erstellen

  • In nachgelagerten Umgebungen wie Test und Produktion bereitstellen

Die Automatisierung ist auf die Anforderungen jedes Projekts zugeschnitten, umfasst aber grundlegende Initiate-, Build- und Release-Automatisierungen.

Darstellung der Initiate-, Build- und Release-Phasen des Bereitstellens

Wenn Sie an einem Projekt mit Automatisierung arbeiten, sollten Sie sich der vorhandenen Gesamtprozesse bewusst sein. Der Aufbau der Automatisierung wird jedoch normalerweise von einer DevOps-fokussierten Ressource durchgeführt.

Power Platform Build Tools

Microsoft Power Platform Build Tools sind wie eine Toolbox, um Apps auf dem Microsoft Power Platform zu verwalten. Bei diesen Tools handelt es sich um eine Reihe hilfreicher Aktionen, die Ihnen die Suche nach Spezialtools und das Schreiben komplizierter Skripts zum Bewältigen verschiedener Aufgaben im Lebenszyklus Ihrer App ersparen. Sie können sie einzeln verwenden, um bestimmte Dinge zu tun, zum Beispiel eine App in eine neue Umgebung zu bringen, oder Sie können sie in einer Reihenfolge zusammen verwenden, um Dinge automatisch ablaufen zu lassen.

Nun, je nachdem, ob Sie Azure DevOps oder GitHub Actions verwenden, um Ihre Arbeit zu automatisieren, können sich die ausgefallenen Wörter etwas verändern. In Azure DevOps nennen wir diese Aktionen „Aufgaben“, während wir sie in GitHub Actions als „Aktionen“ bezeichnen.

Im Folgenden finden Sie einige der allgemeinen Vorgänge:

  • Power Platform-Prüfung – Führt eine statische Analyse Ihrer Lösung aus und lässt das frühzeitige Erkennen von Problemen zu, indem es zu Ihrer Automatisierung hinzugefügt wird.

  • Lösung exportieren – Exportiert eine Lösung als unverwaltet, verwaltet oder beides aus einer Umgebung.

  • Lösung importieren – Importiert eine Lösung in eine Umgebung.

  • Lösung entpacken – Teilt eine komprimierte Lösungsdatei in einzelne Dateien für jede Komponente auf, um das Einchecken in der Versionsverwaltung zu ermöglichen.

  • Lösung packen – Packt eine in der Versionsverwaltung dargestellte Lösung in eine solution.zip-Datei, die in eine andere Umgebung importiert werden kann.

  • Lösungsversion setzen – Erlaubt das Aktualisieren der Versionsnummer in Ihrer Automatisierung. Lässt die Implementierung einer konsistenten Versionsverwaltung zu.

  • Umgebungen anlegen, löschen und kopieren – Lässt die Automatisierung der Umgebungsverwaltung als Teil von Automatisierungen zu.

Warum sollten Sie sich mit Automatisierung beschäftigen? Dies ist eine clevere Möglichkeit, sicherzustellen, dass Ihr App-Erstellungsprozess konsistent und zuverlässig ist. Wenn Ihr Team immer noch alles manuell erledigt, ist es eine gute Idee, einige Automatisierungen zu testen. Dies macht Ihre Arbeit nicht nur konsistenter, sondern unterstützt Sie auch dabei, bessere Apps zu erstellen und diese mit höherer Qualität bereitzustellen.