Transporter des solutions entre différents environnements

Effectué

L’un des principaux avantages de l’utilisation de solutions est la possibilité d’importer et d’exporter des solutions depuis les environnements Microsoft Power Platform. Cette fonctionnalité active les principaux cas d’utilisation suivants :

  • Importation d’une solution exportée dans d’autres environnements

  • Exportation d’une solution à des fins de stockage dans le contrôle de code source

  • Sauvegarde à la demande de composants de solution et possibilité d’en restaurer sans restaurer des environnements complets

Vous pouvez exporter et importer des solutions manuellement à partir de l’Explorateur de solutions ou automatiser l’importation et l’exportation à l’aide de Microsoft Power Platform Build Tools.

Solutions gérées et non gérées

Une solution peut être gérée ou non. Cette désignation détermine ce que vous pouvez faire avec la solution. Utilisez les solutions non gérées dans les environnements de développement lorsque vous apportez des modifications à vos flux de cloud et d’autres composants de solution. Utilisez les solutions gérées en cas de déploiement dans un environnement autre qu’un environnement de développement pour la solution concernée. Le type de solution est déterminé par choix lors de l’exportation et devient actif lorsque la solution exportée est importée dans un autre environnement.

Par exemple, une pratique courante consiste à disposer d’un environnement de développement avec votre solution (non gérée) dans lequel vous créez vos flux de cloud et d’autres composants de solution. Ensuite, vous exportez une version non gérée et une version gérée de votre solution lorsque vous êtes prêt à la publier dans votre environnement de test. Vous pouvez conserver la solution non gérée en toute sécurité en tant que copie de sauvegarde de votre travail. Des outils tels que SolutionPackager ou Microsoft Power Platform CLI vous permettent également d’extraire les fichiers individuels de la solution non gérée exportée, puis de les archiver dans le contrôle de code source comme GitHub ou Microsoft Azure DevOps.

De plus, vous pouvez utiliser la solution non gérée si vous devez recréer votre environnement de développement. Veillez donc à disposer systématiquement d’une solution non gérée exportée. En cas d’importation dans l’environnement de test, le processus utilise la version gérée de la solution. Une fois les tests réussis, la même version gérée est importée en production. Le point clé est que toute modification apportée à un composant de solution se produit uniquement dans l’environnement de développement. Pour faciliter l’application de cette notion, vous ne pouvez pas modifier directement un composant de solution gérée, ce qui permet d’éviter toute modification accidentelle.

Exporter des solutions

Lors de chaque exportation manuelle de solutions à partir de l’Explorateur de solutions, vous recevez des invites pour certains choix. Les premiers choix sont Publier toutes les modifications et Rechercher les problèmes.

Capture d’écran des options de la boîte de dialogue Avant d’exporter.

L’option Publier toutes les modifications n’est pas requise pour les flux de cloud, mais elle est recommandée si vous disposez d’autres composants de solution. Certaines personnalisations apportant des modifications aux composants de l’interface utilisateur doivent être publiées avant l’exportation.

Recherchez les problèmes en exécutant une analyse sur tous les composants de votre solution. Cette analyse est similaire à un vérificateur de flux, mais pour tous les composants de votre solution, et l’analyse vous avertit des problèmes.

La deuxième invite permet de choisir un numéro de version et de sélectionner Gérée ou Non gérée.

Capture d’écran des options Numéro de version et Exporter en tant que dans l’invite Exporter cette solution.

Par défaut, la solution incrémente le numéro de version lors de chaque exportation. En substance, si vous exportez une solution gérée et une solution non gérée lors de la même session, elles portent des numéros de version différents, mais représentent la même version. Pour éviter cette situation, vous pouvez ajuster manuellement la version afin qu’elle soit la même pour les deux versions.

Quant à l’option Exporter en tant que, nous vous recommandons d’effectuer l’exportation à deux reprises : une fois pour la solution gérée et une autre pour la solution non gérée. Veillez à disposer d’une copie non gérée exportée lorsque vous exportez une solution gérée.

Importer des solutions

Pour déployer une solution dans un autre environnement, vous allez importer un fichier de solution exportée. Vous pouvez importer le fichier de solution gérée ou non gérée.

L’importation d’une solution non gérée doit cibler des environnements de développement. Une fois l’importation terminée, les composants de la solution sont fusionnés dans l’environnement. Vous ne pouvez pas annuler l’action et la suppression de la solution n’entraîne pas celle des composants de la solution fusionnés. Si la solution existe déjà dans l’environnement, une importation met à jour et remplace les ressources correspondantes existantes. Toutes les importations de solutions sont additives et tout composant de solution absent de la nouvelle version existe toujours dans l’environnement après la fin d’une importation de mise à jour. Veillez à ne pas remplacer accidentellement le travail récent depuis la dernière exportation et à importer uniquement des solutions non gérées dans les environnements prévus.

L’importation d’une solution gérée doit cibler des environnements hors développement tels que des environnements de test et de production. Contrairement aux solutions non gérées, lorsque vous importez une solution gérée, elle n’est pas fusionnée de la même manière, mais crée sa couche de personnalisation pour suivre et gérer les modifications apportées à l’environnement.

La superposition de solutions permet de suivre les modifications apportées aux composants de votre solution gérée. Si vous importez une mise à jour vers une solution gérée, le comportement par défaut consiste à traiter l’importation comme une mise à niveau. La version de solution mise à jour est importée et remplace l’ancienne version. Ce processus supprime de l’environnement tous les anciens composants de solution ne faisant pas partie de la nouvelle version. Par exemple, si vous avez supprimé un flux de cloud en cours de développement, lorsque vous importez la version la plus récente dans l’environnement de test, le flux supprimé disparaît de l’environnement de test. La suppression d’une solution gérée fonctionne comme une désinstallation ; tous les composants de la solution non référencés par une autre solution sont supprimés, y compris leurs données. Vous devez éviter de mettre à jour manuellement les flux de cloud directement dans les environnements où la solution est déployée comme gérée, car cette opération entraîne la création d’une modification non gérée empêchant les futures mises à jour. Par exemple, si vous corrigez un flux de cloud en production, le prochain déploiement de l’importation d’une nouvelle version fonctionnera bien ; cependant, votre flux de cloud de production ne sera pas mis à jour. Vous pouvez identifier et résoudre ce problème à l’aide des fonctionnalités de gestion des couches de solution. Vous pouvez également éviter ce problème en modifiant uniquement votre environnement de développement.

Pour l’un ou l’autre type d’importation de solution, vous êtes invité à mettre à jour toutes les références de connexion non établies précédemment.

Capture d’écran de la définition de références de connexion à une connexion lors de l’importation.

De plus, si des variables d’environnement dans la solution n’ont pas de valeur, vous êtes invité à fournir une valeur actuelle pour l’environnement concerné.

Capture d’écran de la section Variables d’environnement de la boîte de dialogue Importer une solution.

Les importations et exportations de solutions s’exécutent en arrière-plan et vous êtes averti de leur achèvement.