Tutorial: Automatisieren der Lösungsbereitstellung mithilfe von GitHub Actions für Microsoft Power Platform

In diesem Tutorial erfahren Sie, wie:

  • Ein neues GitHub-Repository erstellen
  • Erstellen Sie zwei GitHub-Workflows mithilfe von GitHub Actions für Microsoft Power Platform

Die Workflows können Ihre App automatisch (als nicht verwaltete Lösung) aus einer Entwicklungsumgebung exportieren, ein Build-Artefakt (verwaltete Lösung) generieren und die App in Ihrer Produktionsumgebung bereitstellen. Dieses Tutorial verwendet die ALMLab-Lösung, die Sie erstellt haben, sowie die Umgebungen, die Sie in vorhergehenden Tutorials eingerichtet haben.

Zugehörige Tutorials: Erste Schritte und Eine Modellgesteuerte App erstellen.

Erstellen eines GitHub-Kontos

  1. Wechseln Sie zu https://github.com und wählen Sie Registrieren oder Kostenlose Testversion starten (oder melden Sie sich an, wenn Sie bereits über ein Konto verfügen).

    Konto erstellen

  2. Nachdem Sie Ihr Konto erstellt haben, erstellen Sie ein Repository, indem Sie Repository erstellen oder Neu auswählen.

    Ein Repository erstellen

    Möglicherweise wird die folgende alternative Landingpage angezeigt:

    Ein neues Repository erstellen

  3. Erstellen Sie Ihr neues Repository, und nennen Sie es poweractionslab. Stellen Sie sicher, dass Sie eine README-Datei hinzufügen auswählen, um das Repository zu initiieren, und wählen Sie "Repository erstellen" aus.

    Repository starten.

Ein neues Geheimnis für die Service Principal-Authentifizierung erstellen

  1. Wechseln Sie zu Ihrem Repository, und wählen Sie "Einstellungen" aus. Erweitern Sie Secrets, und wählen Sie dann Aktionen aus.

  2. Benennen Sie auf der Seite Secrets den geheimen Schlüssel PowerPlatformSPN. Geben Sie das Clientgeheimnis aus der Anwendungsregistrierung, die Sie in Microsoft Entra erstellt haben, in das Feld Wert ein, und wählen Sie dann Geheimnis hinzufügen aus. Sie werden später in diesem Lernprogramm in den YML-Dateien, die die GitHub-Workflows definieren, auf das Client-Secret verweisen.

    Geheimnis des Dienstprinzipals erstellen

    Der geheime Clientschlüssel wird jetzt sicher als GitHub-Geheimnis gespeichert.

Einen Workflow zum Exportieren und Entpacken der Lösungsdatei in einen neuen Branch erstellen

  1. Wählen Sie "Aktionen" aus, und wählen Sie dann "Workflow selbst einrichten" aus. Oder wählen Sie im Feld Einfacher Workflow unter dem Abschnitt Für dieses Repository vorgeschlagen die Option Konfigurieren aus.

    Workflow einrichten.

  2. Es wird eine neue YAML-Datei mit einem einfachen Workflow angezeigt, der Ihnen bei den ersten Schritten mit GitHub Aktionen hilft.

    YML-Beispieldatei

  3. Löschen Sie den vordefinierten Inhalt, und fügen Sie dann den Inhalt aus der export-and-branch-solution-with-spn-auth.yml Datei ein. Benennen Sie die Datei um in export-and-branch-solution.yml.

    Inhalt umbenennen und ersetzen.

  4. Aktualisieren Sie <ENVIRONMENTURL> mit der URL für die Entwicklungsumgebung, aus der Sie exportieren möchten (zum Beispiel: https://poweractionsdev.crm.dynamics.com).

  5. Aktualisieren Sie <APPID> und <TENANT ID> mit Ihren Werten.

    • Wenn Sie Anmeldeinformationen verwenden, fügen Sie den Inhalt der export-and-branch-solution.yml-Datei anstelle des Inhalts der export-and-branch-solution-with-spn-auth.yml-Datei ein. Aktualisieren Sie <USERNAME> mit dem Benutzernamen, den Sie zum Herstellen einer Verbindung mit der Umgebung verwenden.

      Umbenennen und Inhalt ersetzen

    Tipp

    Wenn Sie mit GitHub Actions nicht vertraut sind und mehr erfahren möchten, lesen Sie die offizielle Dokumentation unter https://docs.github.com/en/actions.

  6. Sie sind jetzt bereit, Ihre Änderungen zu committen. Wählen Sie Commit starten, geben Sie im Titelfeld Export-Yml erstellen ein und fügen Sie dann eine Beschreibung hinzu (optional). Wählen Sie anschließend Neue Datei committen aus.

    Commit starten.

Herzlichen Glückwunsch, Sie haben Ihren ersten GitHub Workflow mithilfe der folgenden Aktionen erstellt:

  • Wer bin ich: Stellt sicher, dass Sie erfolgreich eine Verbindung mit der Umgebung herstellen können, aus der Sie exportieren möchten.
  • Lösung exportieren: Exportiert die Lösungsdatei aus Ihrer Entwicklungsumgebung.
  • Lösung entpacken: Die Vom Server exportierte Lösungsdatei ist eine komprimierte (ZIP)-Datei mit konsolidierten Konfigurationsdateien. Diese anfänglichen Dateien eignen sich nicht für die Versionsverwaltung, da sie nicht so strukturiert sind, dass Versionsverwaltungssysteme die Unterschiede zwischen den Dateien korrekt ermitteln und die Änderungen erfassen können, die Sie in die Versionsverwaltung einchecken möchten. Sie müssen die Lösungsdateien entpacken, damit sie für die Speicherung und Verarbeitung in der Versionsverwaltung geeignet sind.
  • Branch-Lösung: Erstellt einen neuen Branch zum Speichern der exportierten Lösung.

Den Export- und Entpack-Workflow testen

  1. Testen Sie als Nächstes, ob der Workflow ausgeführt wird. Wechseln Sie zu „Aktionen“, wählen Sie „Workflow ausführen“ und dann „Workflow ausführen“ aus. Wenn Sie einen anderen Lösungsnamen als ALMLab verwenden, ändern Sie hier den Wert, behalten Sie jedoch die anderen Werte unverändert.

    Workflow ausführen.

  2. Nach 5 bis 10 Sekunden wird der Workflow gestartet. Sie können den ausgeführten Workflow auswählen, um den Fortschritt zu überwachen.

    Zum Anzeigen des Workflows anklicken

    Workflow auswählen und anzeigen.

  3. Überprüfen Sie nach Abschluss des Workflows, ob ein neuer Branch erstellt wurde, wobei die Lösung in den solutions/ALMLab Ordner entpackt wurde. Wechseln Sie zur Registerkarte "Code " , und erweitern Sie die Dropdownliste "Verzweigungen ".

  4. Wählen Sie den Branch aus, den die Aktion erstellt hat.

  5. Überprüfen Sie, ob der solutions/ALMLab Ordner in der neuen Verzweigung erstellt wird. Erstellen Sie dann einen Pull Request, um die Änderungen in den main-Branch zusammenzuführen. Wählen Sie „Beitragen“ und im Flyout „Pull Request öffnen“ aus.

  6. Fügen Sie auf dem Bildschirm „Pull Request öffnen“ bei Bedarf einen Titel und eine Beschreibung hinzu, und wählen Sie dann „Pull Request erstellen“ aus.

  7. Der Bildschirm wird aktualisiert, um den neuen Pull Request anzuzeigen. Wenn Sie den Pull Request erstellen, erhalten Sie eine Bestätigung, dass Ihr Branch keinen Konflikt mit dem Main-Branch hat. Diese Bestätigung bedeutet, dass Sie die Änderungen automatisch in der Hauptzweigung zusammenführen können. Wählen Sie Pull Request mergen und dann Merge bestätigen aus. Wählen Sie optional „Branch löschen“ aus, um den nun nicht mehr verwendeten Branch zu entfernen.

    Branches anzeigen

  8. Wechseln Sie zurück zur Standardverzweigung (Hauptverzweigung), und überprüfen Sie, ob die Lösung dort verfügbar ist.

Erstellen Sie einen wiederverwendbaren Workflow, um ein Build-Artefakt zu generieren und in die Produktion zu importieren

Erstellen Sie in diesem Abschnitt einen zusätzlichen Workflow, der:

  • Erstellt eine verwaltete Lösung und veröffentlicht sie als GitHub-Artefakt
  • Importiert das Build-Artefakt in die Produktionsumgebung
  1. Wechseln Sie zu Aktionen und wählen Sie Neuer Workflow aus.

    Neuen Workflow erstellen

  2. Wählen Sie selbst einen Workflow einrichten.

    Einen Workflow einrichten

  3. Benennen Sie den Titel des Workflows in release-solution-to-prod-with-inputs um. Kopieren Sie den Inhalt aus der release-solution-to-prod-with-inputs.yml Datei, und fügen Sie ihn in den Bildschirm "Neue Datei bearbeiten " ein.

    Code umbenennen und den Code einfügen.

  4. Übernehmen Sie die Änderungen. Wählen Sie Start commit und fügen Sie dann einen Titel und eine Beschreibung hinzu (optional). Wählen Sie anschließend Neue Datei committen aus.

    Änderungen committen.

Rufen Sie den wiederverwendbaren Workflow für das Freigabeereignis auf

In diesem Abschnitt rufen Sie den wiederverwendbaren Workflow für das Releaseereignis auf.

  1. Wechseln Sie zu Aktionen und wählen Sie Neuer Workflow aus.

    Neuen Workflow erstellen

  2. Wählen Sie Workflow selbst einrichten.

    Einen Workflow einrichten

  3. Benennen Sie den Titel des Workflows in release-action-call um. Kopieren Sie den Inhalt aus der release-action-call.yml Datei, und fügen Sie ihn in den Bildschirm " Neue Datei bearbeiten " ein.

    Code umbenennen und einfügen

  4. Aktualisieren Sie die folgenden Variablen in der neuen Workflowdatei:

    • Aktualisieren Sie <BUILD_ENVIRONMENT> mit der URL für die Buildumgebung, die Sie zum Generieren der verwalteten Lösung verwenden. Beispiel: https://poweractionsbuild.crm.dynamics.com.
    • Aktualisieren Sie <PROD_ENVIRONMENT> mit der URL für die Produktionsumgebung, in die Sie bereitstellen. Beispiel: https://poweractionsprod.crm.dynamics.com.
    • Aktualisieren Sie <APP_ID> mit der Anwendungs-ID (Client-ID), die Sie im Blatt App-Registrierungen von Microsoft Azure-Portal finden, indem Sie die Registrierung auswählen, die Sie zuvor in diesem Lernprogramm erstellt haben.
    • Aktualisieren Sie <TENANT_ID> mit der Verzeichnis-ID (Mandanten-ID), die Sie im Bereich „App-Registrierungen“ im Microsoft Azure-Portal finden, indem Sie die Registrierung auswählen, die Sie zuvor in diesem Lernprogramm erstellt haben.
  5. Übernehmen Sie die Änderungen. Wählen Sie Commit starten und fügen Sie dann einen Titel (optional) und eine Beschreibung hinzu (optional). Wählen Sie anschließend Neue Datei committen aus.

    Änderungen übernehmen.

Den Workflow für die Freigabe in die Produktion testen

Jetzt können Sie den letzten Workflow testen. Dieser Workflow wird ausgelöst, wenn eine neue Version in der Produktion bereitgestellt wird.

  1. Wechseln Sie zu Versionen.

    Zu Releases gehen

  2. Wählen Sie Neuen Entwurf für ein Release erstellen.

  3. Fügen Sie ein Release-Tag, einen Titel hinzu und wählen Sie Release veröffentlichen.

  4. Wählen Sie Aktionen, um den laufenden Workflow anzuzeigen.

    Auswählen, um den Workflow anzuzeigen.

  5. Wählen Sie den laufenden Workflow aus, um die Aktionen während der Ausführung anzuzeigen.

    Workflow anzeigen

  6. Warten Sie, bis jede Aktion jeweils abgeschlossen ist.

    Branch anzeigen.

  7. Melden Sie sich nach Abschluss des Workflows bei Ihrer Produktionsumgebung an, und überprüfen Sie, ob die Lösung als verwaltete Lösung bereitgestellt wurde.

Das Update bereitstellen und die Änderungen vor der Produktionsfreigabe überprüfen

Testen Sie den End-to-End-Prozess, und sehen Sie dann, wie Sie Änderungen an einer App anzeigen und validieren können, bevor Sie sie in der Produktionsumgebung bereitstellen.

  1. Gehen Sie in Ihrer Entwicklungsumgebung zur ALMLab-Lösung und wählen Sie Bearbeiten aus, oder wählen Sie den Anzeigenamen der Lösung aus.

    Lösung bearbeiten.

  2. Wählen Sie die Tabelle Freistellungsantrag aus und zeigen Sie sie an.

    Die Tabelle anzeigen.

  3. Wählen Sie + Spalte hinzufügen aus, und erstellen Sie die neue Spalte, wie in der folgenden Abbildung dargestellt.

    Fügen Sie eine Spalte hinzu.

    Aktualisierte Feldwerte:**

    • Anzeigename: Genehmigt
    • Datentyp: Ja/Nein
  4. Wählen Sie Fertig.

  5. Wählen Sie Tabelle speichern aus. Fügen Sie eine Spalte hinzu.

  6. Wechseln Sie zurück zu den GitHub-Repositorys auf die Registerkarte Actions, wählen Sie "Workflow ausführen" und dann die Schaltfläche "Workflow ausführen" aus.

    Führen Sie den Workflow aus.

  7. Nach 5 bis 10 Sekunden wird der Workflow gestartet. Wählen Sie den laufenden Workflow aus, um den Fortschritt zu überwachen.

    Workflow auswählen

    Den Workflow anzeigen

  8. Wechseln Sie nach Abschluss des Workflows zu dem neuen Branch, indem Sie Code und dann Branches auswählen.

    Zu Branch navigieren.

  9. Wählen Sie den von Ihnen erstellten Branch aus, indem Sie "Mitwirken" erweitern und "Pull Request öffnen" auswählen.

  10. Fügen Sie einen Titel (optional) hinzu, und wählen Sie dann Pull Request erstellen aus.

  11. Nach den Inhaltsaktualisierungen wählen Sie die Registerkarte Dateien geändert aus.

  12. Beachten Sie, dass die Änderungen an der Lösung grün hervorgehoben sind, um anzuzeigen, dass dieser Abschnitt der Datei im Vergleich zu derselben Datei im Haupt-Branch hinzugefügt wurde.

  13. Wechseln Sie zurück zur Registerkarte "Konversation". Wählen Sie Pull Requests und dann den Pull Request aus, den Sie zuvor erstellt haben.

  14. Wählen Sie auf der Seite Pull RequestSquash and merge aus, um die aktualisierte Lösungsdatei in Ihren Hauptbranch zusammenzuführen. Löschen Sie optional den Branch, der jetzt in main zusammengeführt wurde.

    Pull Request für neuen Branch öffnen, Änderungen anzeigen und mit Standard-Branch zusammenführen

  15. Führen Sie die Schritte im Abschnitt "Test the release to production workflow " aus, um eine neue Version zu erstellen und zu überprüfen, ob die aktualisierte Lösung in Ihrer Produktionsumgebung bereitgestellt wird.

Herzlichen Glückwunsch, Sie haben erfolgreich einen Ci/CD-Beispielworkflow mit GitHub Actions eingerichtet!

Siehe auch

Automatisieren Sie Ihren Workflow von Idee bis zur Produktion