Tutoriel : automatiser le déploiement de solutions à l’aide de GitHub Actions pour Microsoft Power Platform
Dans ce didacticiel, vous découvrirez comment :
- Créer un référentiel GitHub
- Créez deux workflows GitHub à l’aide d’actions GitHub pour Microsoft Power Platform
Les workflows peuvent exporter automatiquement votre application (en tant que solution non gérée) à partir d’un environnement de développement, générer un artefact de construction (solution gérée) et déployer l’application dans votre environnement de production. Ce tutoriel utilise la solution ALMLab que vous avez créée et les environnements que vous avez configurés dans les didacticiels précédents.
Tutoriels associés : Premier pas, et Créer une application pilotée par modèle.
Créer un compte GitHub
Aller à https://github.com et cliquez sur S’inscrire ou Démarrer un essai gratuit (ou connectez-vous si vous avez un compte existant).
Après avoir créé votre compte, créez un référentiel en sélectionnant Créer un référentiel ou Nouveau.
Vous pouvez voir l’écran de destination alternatif suivant :
Créez votre nouveau référentiel et nommez-le « poweractionslab ». Assurez-vous de sélectionner Ajouter un fichier README pour lancer le référentiel et choisissez Créer un référentiel.
Création d’un nouveau secret pour l’authentification du principal de service
Accédez à votre référentiel et cliquez sur Paramètres, puis développez Secrets, puis cliquez sur Actions.
Sur la page Secrets, nommez le secret « PowerPlatformSPN ». Utilisez la clé secrète client de l’enregistrement d’application créé dans Microsoft Entra et entrez-la dans le champ Valeur, puis sélectionnez Ajouter un secret. La clé secrète client sera référencée dans les fichiers YML utilisés pour définir les flux de travail GitHub plus tard dans cet atelier.
La clé secrète client est maintenant stockée de manière sécurisée en tant que secret GitHub.
Créez un workflow pour exporter et décompresser le fichier de solution dans une nouvelle branche
Cliquer sur Actions et sur configurer vous-même un workflow ou cliquez sur Configurer dans la case Workflow simple sous la section suggéré pour ce référentiel.
Cela lancera un nouveau fichier YAML avec un workflow de base pour vous aider à démarrer avec les actions GitHub.
Supprimez le contenu précréé, collez le contenu du fichier export-and-branch-solution-with-spn-auth.yml, puis renommez le fichier en « export-and-branch-solution.yml ».
Mettez à jour
<ENVIRONMENTURL>
avec l’URL de l’environnement de développement à partir duquel vous souhaitez exporter (Par exemple :https://poweractionsdev.crm.dynamics.com
).Mettre à jour
<APPID>
et<TENANT ID>
avec vos valeurs.Si vous utilisez des informations d’identification, collez le fichier export-and-branch-solution.yml au lieu du contenu du fichier export-and-branch-solution-with-spn-auth.yml. Mettez à jour
<USERNAME>
avec le nom d’utilisateur que vous utilisez pour vous connecter à l’environnement.
Astuce
Si vous n’êtes pas familier avec les actions GitHub et que vous souhaitez en savoir plus, consultez la documentation officielle sur https://docs.github.com/en/actions.
Vous êtes maintenant prêt à valider vos modifications. Sélectionner Commencer la validation, tapez Créer un yml d’exportation dans le champ de titre, puis ajoutez une description (facultatif). Ensuite, cliquez sur Valider un nouveau fichier.
Félicitations, vous venez de créer votre premier workflow GitHub en utilisant les actions suivantes :
- Qui suis-je : garantit que vous pouvez accéder avec succès au Connecter depuis le environnement à partir duquel vous exportez.
- Exporter la solution : exporte le fichier de solution à partir de votre développement environnement.
- Décompresser la solution : Le fichier de solution exporté depuis le serveur est un fichier compressé (zip) contenant des fichiers de configuration consolidés. Ces fichiers initiaux ne conviennent pas à la gestion du code source car ils ne sont pas structurés pour permettre aux systèmes de gestion de code source d’effectuer correctement la différenciation des fichiers et de capturer les modifications que vous souhaitez valider dans le contrôle de code source. Vous devez « décompresser » les fichiers de solution pour les rendre adaptés au stockage et au traitement du contrôle de code source.
- Solution de branche : crée une nouvelle branche pour stocker la solution exportée.
Tester l’exportation et décompresser le workflow
Ensuite, vérifiez que le workflow s’exécute. Aller à Actions, Exécuter le workflow, et choisissez Exécuter le workflow. Si vous avez un nom de solution autre que « ALMLab », modifiez la valeur ici mais laissez les autres valeurs telles quelles.
Au bout de 5 à 10 secondes, le workflow démarre et vous pouvez sélectionner le workflow en cours pour surveiller la progression.
Une fois le workflow terminé, vérifiez qu’une nouvelle branche a été créée avec la solution décompressée dans le dossier solutions/ALMLab. Accédez à l’onglet Code et développez la liste déroulante branches .
Sélectionnez la branche créée par l’action.
Vérifiez que le dossier solutions/ALMLab a été créé dans la nouvelle branche, puis créez une demande d’extraction pour fusionner les modifications dans la branche principale. Cliquez sur Contribuer et dans le menu déroulant cliquez sur Ouvrir la demande d’extraction.
Sur l’écran Ouvrir une demande d’extraction, ajoutez un titre et une description au besoin, puis cliquez sur Créer une demande d’extraction.
L’écran se mettra à jour en affichant la demande d’extraction nouvellement créée. Au fur et à mesure de la création de la demande d’extraction, une confirmation sera fournie indiquant que notre branche n’a pas de conflit avec la branche principale. Cette confirmation signifie que les modifications peuvent être fusionnées automatiquement dans la branche principale. Cliquez sur Fusionner la demande d’extraction puis cliquez sur Confirmer la fusion. Si vous le souhaitez, cliquez sur supprimer la branche pour nettoyer la branche désormais disparue.
Revenez à la branche (principale) par défaut et validez que la solution y est désormais disponible également.
Créer un workflow réutilisable pour générer un artefact de build et l’importer en production
Dans cette section, nous allons créer un workflow supplémentaire qui :
- Crée un solution gérée et le publie en tant qu’artefact GitHub
- Importe l’artefact de création dans l’environnement de production
Aller à Actions et sélectionnez Nouveau workflow.
Choisissez configurer vous-même un workflow.
Renommez le titre du workflow en « release-solution-to-prod-with-inputs » et copiez le contenu du fichier release-solution-to-prod-with-inputs.yml et collez-le dans l’écran Modifier le nouveau fichier.
Validez les modifications. Choisissez Démarrer la validation puis ajoutez un titre et une description (facultatif). Ensuite, cliquez sur Valider un nouveau fichier.
Appelez le workflow réutilisable sur l’événement de publication
Dans cette section, nous appellerons le workflow réutilisable sur l’événement de sortie.
Aller à Actions et sélectionnez Nouveau workflow.
Choisir configurer vous-même un workflow.
Renommez le titre du workflow en « release-action-call » et copiez le contenu du fichier release-action-call.yml et collez-le dans l’écran Modifier le nouveau fichier.
Mettez à jour les variables suivantes dans le nouveau fichier de workflow :
- Mettez à jour
<BUILD_ENVIRONMENT>
avec l’URL de l’environnement de création que vous utilisez pour générer le solution gérée. Par exemple :https://poweractionsbuild.crm.dynamics.com
. - Mettez à jour
<PROD_ENVIRONMENT>
avec l’URL de l’environnement de production dans lequel vous effectuez le déploiement. Par exemple : https://poweractionsprod.crm.dynamics.com. - Mettez à jour
<APP_ID>
avec l’ID d’application (client) qui se trouve dans la Lame d’enregistrements d’applications du portail Microsoft Azure en cliquant sur l’enregistrement créé précédemment dans ce didacticiel. - Mettez à jour
<TENANT_ID>
avec l’ID de répertoire (abonné) qui se trouve dans la Lame d’enregistrements d’applications du portail Microsoft Azure en cliquant sur l’enregistrement créé précédemment dans ce didacticiel.
- Mettez à jour
Validez les modifications. Choisissez Démarrer la validation puis ajoutez un titre (facultatif) et une description (facultatif). Ensuite, cliquez sur Valider un nouveau fichier.
Tester la mise en production du workflow
Vous êtes maintenant prêt à tester le dernier workflow. Ce workflow est déclenché lorsqu’une nouvelle version est déployée en production.
Accéder à Versions.
Sélectionnez Créer un brouillon d’une nouvelle version.
Ajoutez une balise de version, un titre et choisissez Publier la version.
Sélectionnez Actions pour afficher le workflow en cours.
Choisissez le workflow en cours pour afficher les actions au fur et à mesure de leur exécution.
Attendre que chaque action se termine.
Une fois le workflow terminé, connectez-vous à votre environnement de production et vérifiez que la solution a été déployée en tant que solution gérée.
Déployer la mise à jour et examiner les modifications avant la sortie de production
Nous allons maintenant tester le processus de bout en bout, puis voir comment nous pouvons afficher et valider les modifications apportées à une application avant qu’elle ne soit déployée en production.
Accédez à la solution ALMLab dans votre environnement de développement et choisissez Modifier ou cliquez sur le nom d’affichage des solutions.
Sélectionnez et affichez la table Demande d’absence.
Cliquez sur + Ajouter une colonne et créez la colonne comme indiqué dans la figure ci-dessous.
Valeurs de champ mises à jour:**
- nom complet : Approuvé
- Type de données : Oui/Non
Cliquez sur Terminé.
Cliquez sur Enregistrer la table
Revenez à votre onglet Actions des référentiels GitHub, choisissez Exécuter le workflow, et sélectionnez le bouton Exécuter le workflow.
Au bout de 5 à 10 secondes, le workflow démarre et vous pouvez cliquer sur le workflow en cours pour surveiller sa progression.
Une fois le workflow terminé, accédez à la nouvelle branche en sélectionnant Code puis Branches.
Sélectionnez la branche créée par le workflow et développez contribuer et cliquez sur Ouvrir la demande d’extraction.
Ajoutez un titre (facultatif), puis cliquez sur Créer une demande d’extraction.
Après les mises à jour de contenu, cliquez sur l’onglet Fichiers modifiés.
Notez que les modifications apportées à la solution sont surlignées en vert pour indiquer que cette section du fichier a été ajoutée par rapport au même fichier dans la branche principale.
Revenez à l’onglet Conversation. Sélectionnez Demandes d’extraction, puis sélectionnez la demande d’extraction précédemment créée.
Sur la page Demande d’extraction, sélectionnez Écraser et fusionner pour fusionner le fichier de solution mis à jour dans votre branche principale, vous aussi supprimer ce qui est à présent fusionné en principal.
Suivez les étapes de la section Tester la mise en production du workflow pour créer une version et valider que la solution mise à jour a été déployée dans votre environnement de production.
Félicitations, vous avez configuré avec succès un exemple de workflow CI/CD à l’aide des actions GitHub !