Apps mit Package Deployer bereitstellen
Package Deployer ermöglicht Administratoren die Bereitstellung von Paketen in Umgebungen von Microsoft Dataverse. Diese Pakete werden auch von unabhängigen Softwareanbietern (Independent Software Vendors, ISVs) verwendet, um zertifizierte Lösungen für Kundenumgebungen bereitzustellen. Entwickler können dabei helfen, das Paket zu konfigurieren und Code zu erstellen, der während der Installationsphasen ausgeführt wird.
Ein Bereitstellungspaket unterscheidet sich von einer einzelnen Dataverse-Lösung, indem eine vollständige App installiert werden kann, die mehrere Lösungen, Referenzdaten und die Installation einer benutzerdefinierten Logik umfasst. Ein Paket kann aus einem oder allen der folgenden Elemente bestehen:
Eine oder mehrere Dataverse-Lösungsdateien
Flatfiles oder exportierte Konfigurationsdatendateien aus dem Konfigurationsmigrationstool
Benutzerdefinierter Code, der vor, während oder nach der Bereitstellung eines Pakets auf einer Dataverse-Instanz ausgeführt werden kann
Paketspezifischer HTML-Inhalt, der zu Beginn und am Ende des Bereitstellungsprozesses angezeigt werden kann Dies kann hilfreich sein, um eine Beschreibung der im Paket bereitgestellten Lösungen und Dateien bereitzustellen.
Ein Paket erstellen
Microsoft bietet eine Visual Studio-Vorlage zum Erstellen von Paketen. Der Aufwand kann variieren, je nachdem, wie viel benutzerdefinierter Code für die Ausführung während der Installation enthalten ist. Häufig enthält ein Paket nur eine oder mehrere Lösungen und Daten. Im Folgenden finden Sie die Schritte zum Erstellen eines Bereitstellungspakets:
Sie können mit der Bereitstellungsprojektvorlage einen Ordner initialisieren und Ihr erstes Paket mit der Power Platform CLI erstellen. Mit folgendem Befehl wird ein Ordner gefüllt:
pac package init --outputDirectory MyPackage
Nach der Initialisierung können Sie damit beginnen, es Ihren spezifischen Bedürfnissen anzupassen. Wenn Sie beispielsweise ein Paket erstellen möchten, um zwei Dataverse-Lösungen bereitzustellen, würden Sie die folgenden Befehle ausführen, um das Paket so zu konfigurieren, dass es diese umfasst.
pac package add-solution --path ..\MySolution1_1_0_0_2_managed.zip
pac package add-solution --path ..\MySolution2_2_0_0_0_managed.zip
Bearbeiten Sie die Klasse PackageImportExtension.cs, und fügen Sie dem entsprechenden Ereignishandler Logik hinzu, um benutzerdefinierte Logik hinzuzufügen. Im Folgenden sind die verfügbaren Ereignisse aufgeführt, die Sie Ihrer Logik für die Ausführung hinzufügen können:
InitializeCustomExtension – Aufgerufen, um alle Funktionen in der benutzerdefinierten Erweiterung zu initialisieren.
BeforeImportStage – Wird aufgerufen, bevor der Hauptimportvorgang gestartet wird, nach Lösungen und Daten.
PreSolutionImport – Wird ausgelöst, bevor die benannte Lösung importiert wird, um etwaige Konfigurationseinstellungen für den Importvorgang zu ermöglichen.
RunSolutionUpgradeMigrationStep – Wird während eines Lösungsupgrades aufgerufen, wenn alte und neue Lösungen im System vorhanden sind. Mit dieser Funktion können Sie eine Datentransformation oder ein Upgrade durchführen, während eine Lösungsaktualisierung ausgeführt wird.
AfterPrimaryImport – Wird aufgerufen, nachdem alle Importschritte abgeschlossen sind, um abschließende Anpassungen der Umgebung zu ermöglichen.
Nehmen Sie direkt Änderungen an den Konfigurationsdateien vor, um andere Anpassungen vorzunehmen.
Sie können das Paket erstellen, um es für die Bereitstellung vorzubereiten, sobald Sie es konfiguriert und benutzerdefinierten Code hinzugefügt haben. Sie können die .csproj-Datei in Visual Studio laden oder den Befehl dotnet verwenden, um MSBuild auszuführen. Im Folgenden wird der Befehl zum Erstellen des Pakets über die Befehlszeile angezeigt:
dotnet publish
Beim Erstellen des Pakets wird eine ZIP-Datei erstellt, die alles umfasst, was zum Bereitstellen des Pakets erforderlich ist.
Ein Paket bereitstellen
Sobald ein Paket konfiguriert ist, kann es für Dataverse-Umgebungen mit einer der folgenden Methoden bereitgestellt werden:
CLI – Bei diesem Ansatz verwenden Sie die Power Platform CLI, um sich bei der Zielumgebung zu authentifizieren und dann den Befehl „pac package deploy“ auszuführen.
Interaktiv – Die Verwendung dieses Ansatzes bietet einem Benutzer mit Administratorzugriff auf die Umgebung eine Assistentenerfahrung, um das Paket zu installieren. Während der Installation wird der Benutzer visuell über den Fortschritt informiert. Diese Option verwendet die Windows-Anwendung „Package Deployment Tool“, die mit dem Befehl „pac tool pd“ gestartet wird.
Windows PowerShell – Die Verwendung dieses Ansatzes ermöglicht die Installation über die Befehlszeile. Dies wäre für Pakete geeignet, die als Teil eines automatisierten Prozesses bereitgestellt werden.
AppSource– Dieser Ansatz wird verwendet, wenn ein ISV-Angebot für die Installation aus dem AppSource-Portal ausgewählt wird.
Weitere Informationen zur Funktionsweise der Bereitstellung mit diesen Ansätzen finden Sie unter Ein Paket mit Package Deployer und Windows PowerShell bereitstellen.
Daten einschließen
Eines der wichtigsten Dinge, die Package Deployer von der einfachen Installation einer Lösung unterscheidet, besteht darin, dass Sie Referenz-/Konfigurationsdaten als Teil eines Bereitstellungspakets einschließen können.
Das Konfigurationsmigrationstool wird verwendet, um Konfigurations- und Testdaten von einer Umgebung in eine andere zu transportieren. Es bietet die Möglichkeit, solche Daten zu erfassen, diese Daten in das Quellcodeverwaltungs-Repository aufzunehmen und diese Daten zur Automatisierung des Testens zu verwenden. Dieses Tool kann eigenständig verwendet werden. Die als Ausgabe erstellte Datei „data.zip“ kann jedoch als Teil eines Bereitstellungspakets enthalten sein. Hier die Hauptschritte:
Das Schema der zu exportierenden Quelldaten beschreiben
Das Schema zum Exportieren von Daten verwenden
Die exportierten Daten importieren
Das folgende Diagramm zeigt den Prozess zur Verwendung des Tools:
Bei Verwendung mit Package Deployer kann die Ausgabe-Zip-Datei in das Bereitstellungspaket aufgenommen werden.
Im Folgenden sind einige der wichtigsten Vorteile der Verwendung der Konfigurationsmigration zum Vorbereiten von Daten aufgeführt:
Tabellen und Spalten auswählen, aus denen Sie die Konfigurationsdaten exportieren möchten
Beziehungen zwischen Datensätzen analysieren und den Import mit mehreren Durchläufen ausführen, um die Datenintegrität sicherzustellen
Eine Abfrage verwenden, um eine Teilmenge der Datensätze zu definieren, die in das Paket aufgenommen werden sollen
Vermeiden Sie doppelte Datensätze auf dem Zielsystem, indem Sie für jede Tabelle eine Eindeutigkeitsbedingung definieren, die auf einer Kombination von Spalten in der Tabelle basiert, die zum Vergleich mit den Werten auf dem Zielsystem verwendet wird.
Wenn keine übereinstimmenden Werte vorhanden sind, wird auf dem Zielsystem ein eindeutiger Datensatz erstellt. Wenn ein übereinstimmender Datensatz gefunden wird, wird der Datensatz auf dem Zielsystem aktualisiert.
Überprüfen Sie das Schema für die ausgewählten zu exportierenden Tabellen, um sicherzustellen, dass alle erforderlichen Daten/Informationen vorhanden sind.
Verwenden Sie ein vorhandenes Schema erneut, um Daten aus einem Quellsystem zu exportieren.
Verschieben Sie Werte für Datums- und Datetime-Spalten beim Import automatisch nach vorne, um die Daten in Demoumgebungen auf dem neuesten Stand zu halten.
Mit der Verwendung von Package Deployer zur Bereitstellung von Apps können Sie während des Installationsprozesses mehrere Lösungsdateien und Daten einschließen und benutzerdefinierte Logik ausführen. Administratoren können eine assistentenähnliche Installationserfahrung verwenden und müssen sich keine Gedanken darüber machen, wie die einzelnen Komponenten installiert oder Konfigurationsdaten importiert werden.