Déployer des packages avec CRM Package Deployer et Windows PowerShell
Date de publication : novembre 2016
S’applique à : Dynamics CRM 2015
Microsoft Dynamics CRM Package Deployer permet aux administrateurs de déployer des packages sur des instances Microsoft Dynamics CRM (local) et Microsoft Dynamics CRM Online. Un « package » peut être constitué de l'un ou de plusieurs des éléments suivants :
Un ou plusieurs fichiers de solution Dynamics 365.
Des fichiers plats ou des fichiers de données exportés à partir de l'Outil de migration de configuration. Pour plus d'informations sur l'Outil de migration de configuration, voir Gestion des données de configuration.
Du code personnalisé pouvant s'exécuter pendant ou après le déploiement du package sur Microsoft Dynamics 365.
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 Microsoft Visual Studio.Pour plus d'informations :MSDN : créer des packages pour Package Deployer CRM
Une fois le package créé, vous pouvez le déployer en exécutant Système de déploiement de packages de CRM ou en utilisant des applets de commande Windows PowerShell pour l'outil.
Contenu de la rubrique
Utiliser l'outil du système de déploiement de packages pour déployer des packages
Utiliser Windows PowerShell pour déployer des packages
Résoudre les problèmes de déploiement de package à l'aide des fichiers journaux
Meilleures pratiques pour le déploiement de packages
Utiliser l'outil du système de déploiement de packages pour déployer des packages
L'Outil de déploiement de packages 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 Outil de déploiement de packages. Certains écrans et actions de l'outil diffèrent selon la définition du package. Il est inutile d'installer l'Outil de déploiement de packages. Il suffit de le télécharger et de l'exécuter.
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 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 MSDN : 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.
Téléchargez le package Kit de développement logiciel (SDK) de Microsoft Dynamics CRM. Exécutez ensuite le fichier exécutable téléchargé pour extraire le contenu du package.
Accédez au dossier SDK\Tools\PackageDeployer, puis copiez le dossier de package et l'assembly c:\DeployPackage vers le dossier SDK\Tools\PackageDeployer.
Une fois les fichiers copiés, exécutez l'outil en double-cliquant sur le fichier PackageDeployer.exe dans le dossier SDK\Tools\PackageDeployer.
Cliquez sur Continuer dans l'écran principal de l'outil.
Dans l'écran Se connecter à Microsoft Dynamics CRM, fournissez les informations d'authentification pour se connecter au serveur Dynamics 365 sur lequel 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.
S'il y a plusieurs organisations sur serveur Dynamics 365 et que vous avez activé la case à cocher Toujours afficher la liste des organisations disponibles, l'écran suivant vous demande de choisir l'organisation à laquelle vous voulez vous connecter. Sélectionnez l'organisation Dynamics 365 à laquelle se connecter.
L'écran suivant vous invite à sélectionner un package à déployer. Sélectionnez le nom du package, puis cliquez sur Suivant.
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 de déploiement de packages, 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 du Package Deployer
Utiliser Windows PowerShell pour déployer des packages
L'Outil de déploiement de packages prend également en charge Windows PowerShell pour le déploiement de packages.
Appliquez la procédure suivante pour utiliser les applets de commande PowerShell pour déployer des packages :
Configuration requise
Enregistrer les applets de commande
Utiliser l'applet de commande pour récupérer des packages
Utiliser l'applet de commande pour vous connecter au serveur CRM
Utiliser l'applet de commande pour déployer des packages
Accéder à une aide détaillée concernant les applets de commande
Configuration requise
Voici les conditions requises pour utiliser les applets de commande de PowerShell :
PowerShell 3.0 ou ultérieur est nécessaire pour déployer un package à l'aide de PowerShell. Pour vérifier votre version de PowerShell, exécutez une fenêtre PowerShell, puis exécutez la commande suivante : $Host.
Définissez la stratégie d'exécution pour exécuter les scripts PowerShell signés. Pour cela, exécutez une fenêtre PowerShell en tant qu'administrateur, puis exécutez la commande suivante : Set-ExecutionPolicy -ExecutionPolicy AllSigned
Enregistrer les applets de commande
Vous devez enregistrer les applets de commande Windows PowerShell pour le Outil de déploiement de packages, pour pouvoir les utiliser. Pour enregistrer les applets de commande :
Si ce n'est pas déjà fait, téléchargez le package SDK de Dynamics 365 à partir de Centre de téléchargement Microsoft, puis exécutez le fichier du package afin d'extraire le contenu de ce dernier. Supposons que vous avez extrait le package dans le dossier c:\CRM de votre ordinateur. L'Outil de déploiement de packages et les autres fichiers requis sont disponibles à l'emplacement suivant : c:\CRM\SDK\Tools\PackageDeployer.
Démarrez Windows PowerShell sur votre ordinateur avec des privilèges élevés (exécuter en tant qu'administrateur).
À l'invite de la fenêtre Windows PowerShell, remplacez le répertoire avec le dossier Windows PowerShell du dossier PackageDeployer. Dans ce cas :
cd c:\CRM\SDK\Tools\PackageDeployer\PowerShell
Exécutez le script RegisterXRMTooling.ps1 pour enregistrer l'assembly (dll) Windows PowerShell du Package Deployer, et installez le composant logiciel enfichable Windows PowerShell pour l'Outil de déploiement de packages. Pour ce faire, tapez la commande qui suit, puis appuyez sur Entrée :
.\RegisterXRMTooling.ps1
Ajoutez le composant logiciel enfichable Windows PowerShell pour l'outil XRM. Cette action stocke les applets de commande suivants : Get-CrmConnection et Get-CrmOrganizations.
Add-PSSnapin Microsoft.Xrm.Tooling.Connector
Ajoutez le composant logiciel enfichable Windows PowerShell pour le système de déploiement de packages. Cette action stocke les applets de commande suivants : Get-CrmPackages et Import-CrmPackage.
Add-PSSnapin Microsoft.Xrm.Tooling.PackageDeployment
Vous êtes maintenant prêt à utiliser ces applets de commande Windows PowerShell. Pour répertorier les applets de commande que vous avez enregistrés, exécutez la commande suivante à l'invite de la fenêtre Windows PowerShell :
Get-Help “Crm”
Utiliser l'applet de commande pour récupérer des packages
Avant d'utiliser l'applet de commande, vérifiez que vous avez copié votre package dans le dossier PackageDeployer (dans ce cas, c:\CRM\SDK\Tools\PackageDeployer). 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 dans Visual Studio. Copiez tout le contenu du dossier de débogage du projet vers le dossier PackageDeployer. Pour obtenir des informations détaillées sur la création d'un package à l'aide de Visual Studio, voir MSDN : créer des packages pour Package Deployer CRM.
Dans la fenêtre PowerShell, utilisez l'applet de commande suivant pour renvoyer une liste des packages pouvant être importés dans le répertoire spécifié (dans ce cas, c:\CRM\SDK\Tools\PackageDeployer) :
Get-CrmPackages –PackageDirectory c:\CRM\SDK\Tools\PackageDeployer
Si vous souhaitez avoir des informations sur le package d'un répertoire, utilisez l'applet de commande Get-CrmPackages avec le paramètre –PackageName pour spécifier le nom d'assembly dans le répertoire qui contient la définition de package.
Get-CrmPackages –PackageDirectory c:\CRM\SDK\Tools\PackageDeployer –PackageName SampleCRMPackage.dll
Utiliser l'applet de commande pour vous connecter au serveur CRM
Fournissez vos informations d'identification pour vous connecter à votre instance Microsoft Dynamics CRM Online ou Microsoft Dynamics CRM (local). La commande suivante vous invite à taper votre nom d'utilisateur et votre mot de passe pour vous connecter à l'instance Dynamics 365, elle enregistre ces informations dans la variable $Cred et les utilise ultérieurement pour la connexion au serveur CRM.
$Cred = Get-Credential
Utilisez la commande suivante pour établir une connexion à votre instance Microsoft Dynamics CRM Online ou Microsoft Dynamics CRM (local). Nous stockons les informations de connexion dans la variable $CRMConn :
Si vous vous connectez à l'instance Microsoft Dynamics CRM (local) :
$CRMConn = Get-CrmConnection -ServerUrl http://<your_CRM_Server> -OrganizationName <your_Org_Name> -Credential $Cred
Si vous vous connectez au serveur Microsoft Dynamics CRM Online :
$CRMConn = Get-CrmConnection -DeploymentRegion NorthAmerica –OnlineType Office365 –OrganizationName <your_Org_Name> -Credential $Cred
Notes
Pour le paramètre DeploymentRegion, les valeurs pouvant être utilisées sont Amérique du Nord, EMEA, APAC. Pour le paramètre OnlineType les valeurs pouvant être utilisées sont Office365 et LiveID.
Les informations d'identification fournies sont validées lorsque vous exécutez la commande à l'étape 2.
Utiliser l'applet de commande pour déployer des packages
Utilisez ensuite les informations de connexion de CRM stockées dans la variable $CRMConn pour déployer des packages vers l'instance Dynamics 365. Exécutez la commande suivante pour déployer votre package :
Import-CrmPackage –CrmConnection $CRMConn –PackageDirectory c:\CRM\SDK\Tools\PackageDeployer –PackageName SampleCRMPackage.dll –UnpackFilesDirectory c:\UnpackedFiles -Verbose
Notes
-
Les paramètres CrmConnection, PackageDirectory et PackageName sont obligatoires.
-
Pour le paramètre PackageName, vous devez spécifier le nom d'assembly qui contient la définition de package.
-
Vous n'avez pas besoin de spécifier le paramètre UnpackFilesDirectory si votre package ne décompresse pas les fichiers durant le déploiement du package. Lors de la définition d'un package dans Visual Studio, vous pouvez spécifier s'il convient de décompresser les fichiers, à l'aide du paramètre agentdesktopzipfile du fichier ImportConfig.xml.Pour plus d'informations :MSDN : créer des packages pour Package Deployer CRM
-
Le paramètre Verbose est facultatif et il est utilisé pour afficher un journal détaillé des activités effectuées durant le processus de déploiement du package.
Accéder à une aide détaillée concernant les applets de commande
Dans la fenêtre PowerShell, utilisez l'applet de commande Get-Help avec un nom d'applet de commande pour afficher une aide détaillée de l'applet de commande. Par exemple, pour obtenir une aide détaillées sur l'applet de commande Import-CrmPackage :
Get-Help Import-CrmPackage -full
Pour afficher l'aide en lignes des cmdlets, voir Référence de CRM PowerShell.
Résoudre les problèmes de déploiement de package à l'aide des fichiers journaux
L'Outil de déploiement de packages 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 CRM à l'aide de l'outil et pour le déploiement de packages. 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\PackageDeployer\<Version>.
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, et 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 de 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
MSDN : créer des packages pour Package Deployer CRM
Administration de CRM 2015
© 2016 Microsoft Corporation. Tous droits réservés. Copyright