Déployer des applications avec Package Deployer
Package Deployer permet aux administrateurs de déployer des packages dans des environnements Microsoft Dataverse. Ces packages sont également utilisés par les éditeurs de logiciels indépendants (ISV) pour déployer des solutions certifiées dans les environnements des clients. Les développeurs peuvent vous aider à configurer le package et à créer du code qui s’exécute pendant les phases d’installation.
Un package de déploiement est différent d’une solution Dataverse en ce sens qu’il peut installer une application complète comprenant plusieurs solutions, des données de référence et l’installation d’une logique personnalisée. Un package peut être constitué de l’un ou de l’ensemble des éléments suivants :
Un ou plusieurs fichiers de solution Dataverse
Des fichiers plats ou un fichier de données de configuration exporté à partir de l’outil de Migration de configuration
Du code personnalisé pouvant s’exécuter avant, pendant ou après le déploiement du package sur l’instance Dataverse
Du contenu HTML spécifique au package qui peut s’afficher au début et à la fin du processus de déploiement. Il peut être utile pour fournir une description des solutions et des fichiers qui sont déployés dans le package.
Création d’un package
Microsoft fournit un modèle Visual Studio pour créer des packages. Le niveau d’effort peut varier en fonction du volume de code personnalisé inclus pour exécution lors de l’installation. Souvent, un package ne comprend qu’une ou plusieurs solutions et données. Voici les étapes de création d’un package de déploiement :
Vous pouvez initialiser un dossier avec le modèle de projet de déploiement et créer votre package initial à l’aide de la CLI Power Platform. La commande suivante permet de renseigner un dossier :
pac package init --outputDirectory MyPackage
Une fois initialisé, vous pouvez commencer à le personnaliser selon vos besoins spécifiques. Par exemple, si vous souhaitez créer un package pour déployer deux solutions Dataverse, vous devez exécuter les commandes suivantes pour configurer le package afin de les inclure.
pac package add-solution --path ..\MySolution1_1_0_0_2_managed.zip
pac package add-solution --path ..\MySolution2_2_0_0_0_managed.zip
Vous pouvez ajouter une logique personnalisée en modifiant la classe PackageImportExtension.cs et en ajoutant une logique au gestionnaire d’événements approprié. Voici les événements disponibles auxquels vous pouvez ajouter votre logique à des fins d’exécution :
InitializeCustomExtension : appelé pour initialiser toutes les fonctions de l’extension personnalisée.
BeforeImportStage : appelé avant le début du processus d’importation principal, après les solutions et les données.
PreSolutionImport : déclenché avant l’importation de la solution nommée pour permettre de définir tous les paramètres de configuration dans le processus d’importation.
RunSolutionUpgradeMigrationStep : appelé lors d’une mise à niveau de solution lorsque les deux solutions, ancienne et nouvelle, sont présentes dans le système. Cette fonction permet de fournir un moyen d’effectuer une transformation ou une mise à niveau des données pendant une mise à jour de la solution.
AfterPrimaryImport : appelé une fois toutes les étapes d’importation terminées, permettant les personnalisations finales ou l’ajustement final de l’environnement.
Vous pouvez également effectuer d’autres personnalisations en apportant des modifications directement aux fichiers de configuration.
Une fois configuré et avec tout code personnalisé ajouté, vous pouvez créer le package pour le préparer au déploiement. Vous pouvez charger le fichier .csproj dans Visual Studio ou exécuter MSBuild à l’aide de la commande dotnet. Ce qui suit montre la commande permettant de créer le package à partir de la ligne de commande :
dotnet publish
La création du package entraîne celle d’un fichier .zip comportant tout le nécessaire pour déployer le package.
Déploiement d’un package
Une fois qu’un package est configuré, il peut être déployé dans les environnements Dataverse à l’aide de l’une des méthodes suivantes :
CLI : cette approche s’authentifie auprès de l’environnement cible et exécute la commande
pac package deployà l’aide de la CLI Power Platform.Interactivement : cette approche fournit une expérience similaire à un Assistant pour installer le package pour un utilisateur disposant d’un accès administrateur à l’environnement. Au fur et à mesure que l’installation progresse, l’utilisateur est visuellement informé de la progression. Cette option utilise l’application Windows Package Deployment Tool qui peut être lancée à l’aide de la commande
pac tool pd.Windows PowerShell : l’utilisation de cette approche permet une installation par ligne de commande. Cette approche convient aux packages déployés dans le cadre d’un processus automatisé.
AppSource : cette approche est utilisée lorsqu’une offre d’ISV est sélectionnée pour être installée à partir du portail AppSource.
Vous pouvez en savoir plus sur le fonctionnement du déploiement avec ces approches dans Déployer des packages avec Package Deployer et Windows PowerShell.
Inclusion de données
L’une des principales différences entre Package Deployer et la simple installation d’une solution est vous permet d’inclure des données de référence/configuration dans le cadre d’un package de déploiement.
L’outil de migration de configuration est utilisé pour transporter des données de configuration et de test d’un environnement à un autre. Il fournit les moyens de capturer ces données, d’inclure ces données dans le référentiel de contrôle de code source et d’utiliser ces données pour automatiser les tests. Cet outil peut être utilisé de manière autonome. Cependant, le fichier data.zip qu’il produit en tant que sortie peut être inclus dans le cadre d’un package de déploiement. Voici les étapes générales :
Définir le schéma des données source à exporter
Exporter les données à l’aide du schéma
Importer les données exportées
Les schémas suivants illustrent le processus d’utilisation de l’outil :
Lorsqu’il est utilisé avec Package Deployer, le fichier .zip de sortie peut être inclus dans le package de déploiement.
Voici certains des avantages clés de l’utilisation de la migration de configuration pour préparer les données :
Sélectionnez les tables et les colonnes à partir desquelles exporter les données de configuration.
Analysez les relations entre les enregistrements et exécutez l’importation en plusieurs passes pour garantir l’intégrité des données.
Utilisez une requête pour définir un sous-ensemble d’enregistrements à inclure dans le package.
Évitez les enregistrements en double sur le système cible en définissant une condition d’unicité pour chaque table. Elle est basée sur une combinaison de colonnes dans la table, ce qui permet les comparaisons avec les valeurs sur le système cible.
S’il n’y a pas de valeurs correspondantes, un enregistrement unique est créé sur le système cible. Si un enregistrement correspondant est trouvé, l’enregistrement est mis à jour sur le système cible.
Validez le schéma des tables sélectionnées à exporter pour vous assurer que toutes les données/informations requises sont présentes.
Réutilisez un schéma existant pour exporter des données à partir d’un système source.
Avancez automatiquement les valeurs des colonnes de date et de date/heure lors de l’importation pour maintenir les données à jour dans les environnements de démonstration.
L’utilisation de Package Deployer pour déployer des applications vous permet d’inclure plusieurs fichiers de solution, des données et d’exécuter une logique personnalisée pendant le processus d’installation. Les administrateurs peuvent utiliser une expérience d’installation similaire à un assistant et n’ont pas à se soucier de la façon d’installer les différents composants ou d’importer les données de configuration.