Déployer des packages avec Package Deployer et Windows PowerShell

Microsoft Dynamics CRM Package Deployer permet aux administrateurs de déployer des packages dans un environnement.

Note

Package Deployer fonctionne également avec les organisations Dynamics 365 Customer Engagement (on-premises).

Un « package » peut être constitué de l’un ou de plusieurs des éléments suivants :

  • Un ou plusieurs fichiers de solution Dataverse.

  • Des fichiers plats ou des fichiers de données exportés à partir de l’outil Migration de la configuration. Pour plus d’informations sur l’outil Migration de la configuration, voir Gérer vos données de configuration.

  • Du code personnalisé pouvant s’exécuter pendant ou après le déploiement du package dans un environnement.

  • Du contenu HTML spécifique au package qui peut s’afficher au début et à la fin du processus de déploiement du package. Il peut être utile pour fournir une description des solutions et des fichiers qui sont déployés dans le package.

    Les développeurs créent des packages en utilisant le modèle de déploiement de package de Visual Studio. Plus d’informations : Créer des packages pour Package Deployer

    Une fois le package créé, vous pouvez le déployer en exécutant CRM Package Deployer ou en utilisant des applets de commande Windows PowerShell pour l’outil.

Important

Avant d’importer et d’exécuter un package dans une organisation de production, testez le package sur une image miroir hors production de l’organisation de production.

Sauvegardez toujours l’organisation de production avant de déployer un package.


Déploiement des packages avec l’outil Package Deployer

Vous pouvez utiliser l’outil Package Deployer (packagedeployer.exe) pour déployer les packages des façons suivantes.

Utiliser l’outil CRM Package Deployer pour déployer des packages

Utiliser l’outil CRM Package Deployer sur la ligne de commande

Utiliser l’outil Package Deployer pour déployer des packages

L’outil Package Deployer ne peut traiter qu’un package à la fois. Toutefois, il permet aux utilisateurs de sélectionner un package à déployer parmi plusieurs packages disponibles dans le répertoire de l’outil Package Deployer. Certains écrans et actions de l’outil diffèrent selon la définition du package. Il est inutile d’installer l’outil Package Deployer. Il suffit de le télécharger et de l’exécuter.

  1. Procurez-vous le package à déployer. Un package est un ensemble de fichiers et de dossiers créé dans le dossier de projets de Visual Studio (<Project>\Bin\Debug) lorsque vous créez votre projet de package dans Visual Studio. Copiez les éléments suivants à partir du dossier Debug de votre projet :

    • <Dossier PackageName> : ce dossier contient les solutions, la configuration d’importation et le contenu de votre package.

    • <PackageName.dll> : l’assembly contient le code de votre package. Par défaut, le nom de l’assembly est le même que celui de votre projet Visual Studio.

      Pour obtenir des informations détaillées sur la création d’un package à l’aide de Visual Studio, voir Créer un package pour l’outil Package Deployer.

      Pour cette rubrique, supposons que le dossier et l’assembly de package du dossier Debug du projet Visual Studio (<Project>\Bin\Debug) sont copiés dans le dossier c:\DeployPackage.

  2. Obtenez l’outil Package Deployer. L’outil Package Deployer est disponible sous la forme d’un package NuGet. Pour utiliser Package Deployer, vous devez les télécharger et les extraire sur votre ordinateur local à l’aide du fichier nuget.exe.

    Téléchargez le fichier nuget.exe à partir de https://www.nuget.org/downloads, puis enregistrez-le sur votre ordinateur, par exemple sous d:\. Exécutez ensuite la commande ci-après à l’invite de commandes pour extraire le contenu du package dans un dossier de votre ordinateur, par exemple PD :
    d:\nuget install Microsoft.CrmSdk.XrmTooling.PackageDeployment.Wpf -Version [VERSION] -O d:\PD

    Une fois que vous avez extrait l’outil Package Deployer, naviguez jusqu’au dossier [ExtractedLocation]\tools pour rechercher le fichier PackageDeployer.exe.

  3. Copiez le dossier de package et l’assembly de c:\DeployPackage vers le dossier [ExtractedLocation]\tools.

  4. Une fois les fichiers copiés, exécutez l’outil en double-cliquant sur le fichier PackageDeployer.exe dans le dossier [ExtractedLocation]\tools.

  5. Cliquez sur Continuer dans l’écran principal de l’outil.

  6. Dans l’écran Connexion à Microsoft Dynamics 365 for Customer Engagement, fournissez les informations d’authentification pour vous connecter à Dynamics 365 Server où vous voulez déployer le package. S’il y a plusieurs organisations et que vous souhaitez sélectionner l’organisation où le package sera déployé, activez la case à cocher Toujours afficher la liste des organisations disponibles. Cliquez sur Connexion.

  7. Si vous avez plusieurs organisations sur Dynamics 365 Server, sélectionnez l’organisation des applications Dynamics 365 à laquelle vous souhaitez vous connecter.

  8. Sélectionnez le package à déployer, puis cliquez sur Suivant.

    Sélectionner votre package dans l’outil Package Deployer.

  9. Suivez les instructions des écrans successifs pour effectuer le déploiement de votre package.

    Les écrans qui s’affichent sont fonction de la définition du package sélectionné pour le déploiement. Pour un déploiement de bout en bout du package qui utilise l’outil Package Deployer, voir la rubrique concernant le déploiement des packages Unified Service Desk : Déployer des exemples d’applications Unified Service Desk sur le serveur CRM à l’aide de Package Deployer

Utiliser l’outil Package Deployer sur la ligne de commande

Les administrateurs et les personnalisateurs de système peuvent transmettre des paramètres, tels que le code de la langue régionale, à packagedeployer.exe à partir de la ligne de commande. Ces paramètres peuvent être configurés en exécutant l’outil Package Deployer à la ligne de commande.

Note

Cette fonctionnalité a initialement été introduite dans Dynamics CRM Online 2016 Update 0.1.

Les paramètres disponibles sont dans ce tableau.

Paramètre Description Valeur par défaut
RuntimePackageSettings Demande à packagedeployer.exe d’accepter les paramètres de ligne de commande comme LCID et SkipChecks. Non applicable
LCID=localeID Spécifie l’ID de langue, comme 1033 pour l’Anglais-États-Unis ou 1036 pour le Français-France, à partir des ID de paramètres régionaux du package. Si cet élément n’est pas spécifié, la langue par défaut est utilisée. Utiliser la langue par défaut
SkipChecks=true/false Utilisez ce paramètre uniquement lorsque l’environnement cible ne contient pas d’autres solutions ou personnalisations. Lorsque le paramètre est défini sur vrai, l’importation de la solution ignorera certains contrôles de sécurité, qui peuvent améliorer les performances de l’importation. False

L’exemple suivant demande à CRM Package Deployer d’ignorer certains contrôles de sécurité et définit la langue à importer sur le polonais.

packagedeployer.exe /Settings:"SkipChecks=true|lcid=1045"

Note

Utilisez le caractère | pour séparer les paramètres lorsque vous exécutez packagedeployer.exe à la ligne de commande avec plusieurs paramètres.

Pour plus d’informations sur les paramètres et les valeurs pouvant être transmis à packagedeployer.exe, voir Créer des packages pour CRM Package Deployer.

Utiliser Windows PowerShell pour déployer des packages

L’outil Package Deployer prend également en charge Windows PowerShell pour le déploiement de packages. Plus d’information : Premiers pas avec le module de déploiement de package

Résoudre les problèmes de déploiement de package à l’aide des fichiers journaux

L’outil Package Deployer prend en charge une fonction de journalisation qui permet d’obtenir des informations détaillées sur les erreurs survenant lorsque quelqu’un se connecte à l’instance Microsoft Dynamics 365 for Customer Engagement à l’aide de l’outil et pour le déploiement de packages. Par défaut, l’outil génère trois fichiers journaux qui sont accessibles à l’emplacement suivant sur l’ordinateur sur lequel vous exécutez l’outil : c:\Users\<UserName>\AppData\Roaming\Microsoft\Microsoft Dynamics CRM Package Deployer\<Version>. Pour spécifier un autre dossier, utilisez le paramètre de l’applet de commande PowerShell -LogWriteDirectory. Plus d’informations : Use l’applet de commandes pour récupérer des packages

  • Login_ErrorLog.log : fournit des informations sur les problèmes qui se produisent lorsque vous utilisez l’outil pour vous connecter à l’instance Dynamics 365. En cas de problème durant la connexion, un message s’affiche sur l’écran de connexion de l’outil, avec un lien vers ce fichier journal. Le message indique qu’une erreur s’est produite lors du traitement de la demande de connexion et l’utilisateur peut afficher le journal des erreurs. Vous pouvez cliquer sur le lien dans le message pour afficher ce fichier journal. Le fichier journal est créé la première fois que vous rencontrez un problème de connexion dans l’outil. Ensuite, le fichier journal est utilisé pour consigner les informations sur les problèmes de connexion, chaque fois que de ce type de problème survient.

  • PackageDeployer.log : fournit des informations détaillées sur chaque tâche effectuée dans l’outil lors du déploiement des packages. Pour afficher le fichier journal à partir de l’outil, cliquez sur le lien Afficher le fichier journal en bas de l’écran.

  • ComplexImportDetail.log : fournit des informations détaillées sur les données importées lors du dernier déploiement à l’aide de l’outil. Chaque fois que vous déployez un package à l’aide de cet outil, les détails existants du fichier journal sont déplacés vers un fichier appelé ComplexImportDetail._old.log dans le même répertoire, le fichier ComplexImportDetail.log affiche des informations sur la dernière importation effectuée à l’aide de l’outil.

Meilleures pratiques pour le déploiement de packages

Lors du déploiement de packages, les administrateurs Dynamics 365 doivent :

  • Exiger un assembly de package signé afin de pouvoir suivre l’assembly depuis sa source.

  • Tester le package sur une instance de préproduction (de préférence une image miroir de l’instance de production) avant de l’exécuter sur un serveur de production.

  • Sauvegarder l’instance de production avant de déployer un package.

Voir aussi

Créer des packages pour CRM Package Deployer