Tutorial: Die Lösungsbereitstellung mit GitHub-Aktionen für Microsoft Power Platform automatisieren
In diesem Tutorial erfahren Sie Folgendes:
- Ein neues Repository in GitHub erstellen
- Zwei GitHub-Workflows mit GitHub-Aktionen für Microsoft Power Platform erstellen
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.
Ein GitHub-Konto erstellen
Gehen Sie zu https://github.com und klicken Sie auf Registrieren oder Kostenlose Testversion starten (oder melden Sie sich an, wenn Sie bereits ein Konto haben).
Nachdem Sie Ihr Konto erstellt haben, erstellen Sie ein Repository, indem Sie Repository erstellen oder Neu auswählen.
Möglicherweise wird die folgende alternative Landingpage angezeigt:
Erstellen Sie Ihr neues Repository und nennen Sie es „poweractionslab“. Stellen Sie sicher, dass Sie Eine README-Datei hinzufügen, um das Repository zu starten. Wählen Sie dann Repository erstellen.
Ein neues Geheimnis für die Dienstprinzipalauthentifizierung erstellen
Navigieren Sie zu Ihrem Repository und klicken Sie auf Einstellungen, erweitern Sie dann Geheimnisse und klicken Sie anschließend auf Aktionen.
Geben Sie dem Geheimnis auf der Seite Geheimnisse den Namen „PowerPlatformSPN“. Verwenden Sie den geheimen Clientschlüssel aus der in Microsoft Entra erstellten Anwendungsregistrierung und geben Sie ihn in das Feld Wert ein. Wählen Sie dann Geheimnis hinzufügen aus. Auf den geheimen Clientschlüssel wird in den YML-Dateien verwiesen, die später in diesem Lab zum Definieren der GitHub-Workflows verwendet werden.
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
Klicken Sie auf Aktionen und dann auf Richten Sie selbst einen Workflow ein oder klicken Sie in dem Feld Einfacher Workflow und dem Abschnitt Für dieses Repository vorgeschlagen auf „Konfigurieren“.
Dadurch wird eine neue YAML-Datei mit einem grundlegenden Workflow gestartet, um Ihnen die ersten Schritte in GitHub Actions zu erleichtern.
Löschen Sie den vorgefertigten Inhalt, fügen Sie den Inhalt aus der Datei export-and-branch-solution-with-spn-auth.yml ein und benennen Sie die Datei dann in „export-and-branch-solution.yml“ um.
Aktualisieren Sie
<ENVIRONMENTURL>
mit der URL für die Entwicklungsumgebung, aus der Sie exportieren möchten (zum Beispiel:https://poweractionsdev.crm.dynamics.com
).Aktualisieren Sie
<APPID>
und<TENANT ID>
mit Ihren Werten.Wenn Sie Anmeldeinformationen verwenden, fügen Sie die export-and-branch-solution.yml-Datei statt den export-and-branch-solution-with-spn-auth.yml-Dateiinhalten. Aktualisieren Sie
<USERNAME>
mit dem Benutzernamen, mit dem Sie eine Verbindung zur Umgebung herstellen.
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.
Sie sind jetzt bereit, Ihre Änderungen zu übernehmen. Wählen Sie Übernehmen starten, geben Sie im Titelfeld Export-Yml erstellen und fügen Sie dann eine Beschreibung hinzu (optional). Klicken Sie anschließend auf Neue Datei übernehmen.
Herzlichen Glückwunsch, Sie haben gerade Ihren ersten GitHub-Workflow mit den folgenden Aktionen erstellt:
- Wer bin ich: Stellt sicher, dass Sie Verbinden erfolgreich zu Umgebung hinzufügen können, aus dem Sie exportieren.
- Lösung exportieren: Exportiert die Lösungsdatei aus Ihrer Entwicklung Umgebung.
- 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 Quellcodeverwaltung, da sie nicht so strukturiert sind, dass Quellcodeverwaltungssysteme die Dateien ordnungsgemäß differenzieren und die Änderungen erfassen können, die Sie für die Quellcodeverwaltung übernehmen möchten. Sie müssen die Lösungsdateien „entpacken“, damit sie für die Speicherung und Verarbeitung der Quellcodeverwaltung geeignet sind.
- Branch-Lösung: Erstellt einen neuen Branch zum Speichern der exportierten Lösung.
Den Exportieren- und Entpacken-Workflow testen
Testen Sie als Nächstes, ob der Workflow ausgeführt wird. Gehen Sie zu Aktionen, Workflow ausführen und wählen Sie Workflow ausführen. Wenn Sie einen anderen Lösungsnamen als „ALMLab“ verwenden, ändern Sie den Wert hier, aber lassen Sie die anderen Werte unverändert.
Nach 5 bis 10 Sekunden wird der Workflow gestartet, und Sie können den laufenden Workflow auswählen, um den Fortschritt zu überwachen.
Überprüfen Sie nach Abschluss des Workflows, ob ein neuer Branch erstellt wurde, dessen Lösung in den Ordner solutions/ALMLab entpackt wurde. Navigieren Sie zur Registerkarte Code und erweitern Sie das Dropdown-Menü Zweige.
Wählen Sie den Branch aus, der von der Aktion erstellt wurde.
Überprüfen Sie, ob der Ordner solutions/ALMLab im neuen Branch erstellt wurde, und erstellen Sie dann eine Pull-Anforderung, um die Änderungen im Haupt-Branch zusammenzuführen. Klicken Sie auf Beitragen und im Flyout auf Pull Request öffnen.
Fügen Sie auf dem Bildschirm Eine Pull-Anforderung öffnen dann wie gewünscht einen Titel und eine Beschreibung hinzu. Klicken Sie dann auf Pull-Anforderung erstellen.
Der Bildschirm wird aktualisiert und zeigt die neu erstellte Pull-Anforderung. Während die Pull-Anforderung erstellt wird, wird eine Bestätigung bereitgestellt, die zeigt, dass unser Branch keinen Konflikt mit dem Haupt-Branch hat. Diese Bestätigung bedeutet, dass die Änderungen automatisch mit dem Haupt-Branch zusammengeführt werden können. Klicken Sie auf Pull Request zusammenführen und dann auf Zusammenführung bestätigen. Klicken Sie optional auf Branch löschen, um den jetzt nicht mehr existierenden Branch zu bereinigen.
Navigieren Sie zurück zum Standard-Branch (Haupt-Branch) und überprüfen Sie, ob die Lösung jetzt auch dort verfügbar ist.
Erstellen Sie einen wiederverwendbaren Workflow, um ein Build-Artefakt zu generieren und in die Produktion zu importieren
In diesem Abschnitt erstellen wir einen zusätzlichen Workflow, der:
- Eine verwaltete Lösung erstellt und als GitHub-Artefakt veröffentlicht
- Das Build-Artefakt in die Produktionsumgebung importiert
Gehen Sie zu Aktionen und wählen Sie dann Neuer Workflow aus.
Wählen Sie Selbst einen Workflow einrichten aus.
Benennen Sie den Titel des Workflows in „release-solution-to-prod-with-inputs“ um und kopieren Sie den Inhalt aus der Datei release-solution-to-prod-with-inputs.yml und fügen Sie ihn in den Bildschirm Neue Datei bearbeiten ein.
Übernehmen Sie die Änderungen. Wählen Sie Übernehmen starten und fügen Sie dann einen Titel und eine Beschreibung hinzu (optional). Wählen Sie anschließend Neue Datei übernehmen aus.
Rufen Sie den wiederverwendbaren Workflow für das Freigabeereignis auf
In diesem Abschnitt nennen wir den wiederverwendbaren Workflow auf der Release-Ereignis.
Gehen Sie zu Aktionen und wählen Sie dann Neuer Workflow aus.
Wählen Sie Richten Sie selbst einen Workflow ein.
Benennen Sie den Titel des Workflows in „release-action-call“ um und kopieren Sie den Inhalt aus der Datei release-action-call.yml und fügen Sie ihn in den Bildschirm Neue Datei bearbeiten ein.
Aktualisieren Sie die folgenden Variablen in der neuen Workflowdatei:
- Aktualisieren Sie
<BUILD_ENVIRONMENT>
mit der URL für die Build-Umgebung, 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 der die Bereitstellung erfolgen soll. Beispiel: https://poweractionsprod.crm.dynamics.com. - Aktualisieren Sie
<APP_ID>
mit der Anwendungs-(Client-)ID, die im App-Registrierungsblatt des Microsoft Azure Portals gefunden werden, indem Sie in die zuvor in diesem Tutorial erstellte Registrierung klicken. - Aktualisieren Sie
<TENANT_ID>
mit der Verzeichnis-(Mandanten-)ID, die im App-Registrierungsblatt des Microsoft Azure Portals gefunden werden, indem Sie in die zuvor in diesem Tutorial erstellte Registrierung klicken.
- Aktualisieren Sie
Übernehmen Sie die Änderungen. Wählen Sie Übernehmen starten und fügen Sie dann einen Titel (optional) und eine Beschreibung hinzu (optional). Wählen Sie anschließend Neue Datei übernehmen aus.
Die Freigabe für den Produktionsworkflow testen
Sie können jetzt den letzten Workflow testen. Dieser Workflow wird ausgelöst, wenn eine neue Version für die Produktion bereitgestellt wird.
Gehen Sie zu Releases.
Wählen Sie Neuen Release entwerfen.
Fügen Sie ein Release-Tag und einen Titel hinzu und wählen Sie Release veröffentlichen.
Wählen Sie Aktionen, um den laufenden Workflow anzuzeigen.
Wählen Sie den laufenden Workflow aus, um die ausgeführten Aktionen anzuzeigen.
Warten Sie, bis jede Aktion jeweils abgeschlossen ist.
Melden Sie sich nach Abschluss des Workflows in 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
Wir testen nun den vollständigen Prozess und sehen dann, wie wir Änderungen an einer App anzeigen und überprüfen können, bevor sie für die Produktion bereitgestellt wird.
Navigieren Sie in Ihrer Entwicklungsumgebung zur ALMLab-Lösung und wählen Sie Bearbeiten aus oder klicken Sie auf den Anzeigename der Lösungen.
Wählen Sie die Tabelle Anforderung für arbeitsfreie Zeit auf und sehen Sie sie an.
Klicken Sie auf + Spalte hinzufügen und erstellen Sie die neue Spalte wie in der Abbildung unten gezeigt.
Aktualisierte Feldwerte:**
- Anzeigename: Genehmigt
- Datentyp: Ja/Nein
Klicken Sie auf Fertig.
Klicken Sie auf Tabelle speichern
Navigieren Sie zurück zur Registerkarte Aktionen Ihrer GitHub Repositorys, wählen Sie Workflow ausführen und dann die Schaltfläche Workflow ausführen.
Nach 5 bis 10 Sekunden wird der Workflow gestartet, und Sie können den laufenden Workflow anklicken, um den Fortschritt zu überwachen.
Gehen Sie nach Abschluss des Workflows durch Auswahl von Code und dann Branch zum neuen Branch.
Wählen Sie den Branch aus, der durch die Erweiterung Beitragen erstellt wurde, und klicken Sie auf Pull-Anforderungen öffnen.
Fügen Sie einen Titel (optional) hinzu und klicken Sie dann auf Pull-Anforderungen erstellen.
Klicken Sie nach den Inhaltsaktualisierungen auf die Registerkarte Dateien geändert.
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.
Navigieren Sie zurück zu der Registerkarte Unterhaltung. Wählen Sie Pull-Anforderungen und dann die zuvor erstellte Pull-Anforderung aus.
Wählen Sie auf der Seite Pull-AnforderungSquash und zusammenführen, um die aktualisierte Lösungsdatei mit Ihrem Haupt-Branch zusammenzuführen. Löschen Sie optional die Datei, die jetzt mit dem Haupt-Branch zusammengeführt wurde.
Gehen Sie die Schritte im Abschnitt Die Freigabe für den Produktionsworkflow testen durch, um einen neuen Release zu erstellen und zu überprüfen, ob die aktualisierte Lösung in Ihrer Produktionsumgebung bereitgestellt wurde.
Herzlichen Glückwunsch, Sie haben erfolgreich einen Beispiel-CI/CD-Workflow mit GitHub-Aktionen eingerichtet!
Siehe auch
Automatisieren Sie Ihren Workflow von Idee bis zur Produktion