Tutoriel : Automatiser le déploiement de solution à l’aide de GitHub Actions pour Microsoft Power Platform

Dans ce tutoriel, vous allez apprendre à :

  • Créer un nouveau dépôt GitHub
  • Créez deux flux de travail GitHub à l’aide de GitHub Actions 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

  1. Accédez à https://github.com et sélectionnez S’inscrire ou démarrer un essai gratuit (ou connectez-vous si vous disposez d’un compte existant).

    Créer un compte

  2. Après avoir créé votre compte, créez un dépôt en sélectionnant Créer un dépôt ou Nouveau.

    Créer un dépôt

    Vous pouvez voir l’écran d’accueil alternatif suivant :

    Créer un dépôt

  3. Créez votre nouveau dépôt et nommez-le poweractionslab. Veillez à sélectionner Ajouter un fichier README pour lancer le dépôt, puis choisissez Créer un dépôt.

    Initialisez le dépôt.

Création d’un nouveau secret pour l’authentification du principal de service

  1. Accédez à votre référentiel et sélectionnez Paramètres. Développez Secrets, puis sélectionnez Actions.

  2. Dans la page Secrets , nommez le secret PowerPlatformSPN. Entrez la clé secrète client à partir de l’inscription de l’application que vous avez créée dans Microsoft Entra dans le champ Valeur, puis sélectionnez Ajouter un secret. Vous référencerez la clé secrète client dans les fichiers YML qui définissent les flux de travail GitHub plus loin dans ce tutoriel.

    Créer le secret du principal de service

    La clé secrète client est maintenant stockée de manière sécurisée en tant que secret GitHub.

Créez un flux de travail pour exporter et décompresser le fichier de solution dans une nouvelle branche

  1. Sélectionnez Actions, puis configurez un flux de travail vous-même. Vous pouvez également sélectionner Configurer dans la zone Flux de travail simple sous la section suggérée pour ce référentiel.

    Configurer un flux de travail.

  2. Vous voyez un nouveau fichier YAML avec un flux de travail de base pour vous aider à prendre en main GitHub actions.

    Exemple de fichier YML

  3. Supprimez le contenu précréé, puis collez le contenu du fichier export-and-branch-solution-with-spn-auth.yml . Renommez le fichier en export-and-branch-solution.yml.

    Renommez et remplacez le contenu.

  4. Mettez à jour <ENVIRONMENTURL> avec l’URL de l’environnement de développement à partir duquel vous souhaitez exporter (Par exemple : https://poweractionsdev.crm.dynamics.com).

  5. Mettre à jour <APPID> et <TENANT ID> avec vos valeurs.

    • Si vous utilisez des informations d’identification, collez le contenu du 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.

      Renommer et remplacer le contenu

    Astuce

    Si vous n'êtes pas familiarisé avec GitHub Actions et que vous souhaitez en savoir plus, consultez la documentation officielle à l'adresse https://docs.github.com/en/actions.

  6. Vous êtes maintenant prêt à valider vos modifications. Sélectionner Démarrer la validation, tapez Créer un yml d’exportation dans le champ de titre, puis ajoutez une description (facultatif). Ensuite, sélectionnez Valider un nouveau fichier.

    Commencez le commit.

Félicitations, vous avez créé votre premier flux de travail GitHub à l’aide des actions suivantes :

  • Qui suis-je : garantit que vous pouvez vous connecter avec succès à l’environnement à partir duquel vous souhaitez exporter.
  • Exporter la solution : exporte le fichier de solution à partir de votre environnement de développement.
  • Décompresser la solution : le fichier solution que le serveur exporte est un fichier compressé (zip) avec 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 du code source d’effectuer correctement un diff sur les fichiers et d’enregistrer les modifications que vous souhaitez valider dans la gestion de versions. Vous devez extraire les fichiers de solution pour les rendre adaptés au stockage et au traitement dans la gestion de code source.
  • Solution de branchement : crée une nouvelle branche pour stocker la solution exportée.

Tester l’exportation et décompresser le flux de travail

  1. Ensuite, vérifiez que le workflow s’exécute. Accédez à Actions, sélectionnez Exécuter le flux de travail, puis exécutez le flux de travail. Si vous utilisez un autre nom de solution que ALMLab, modifiez la valeur ici, mais conservez les autres valeurs identiques.

    Exécuter le workflow.

  2. Après 5 à 10 secondes, le flux de travail démarre. Vous pouvez sélectionner le flux de travail en cours d’exécution pour surveiller la progression.

    Cliquez pour afficher le workflow.

    Sélectionnez et affichez le workflow.

  3. Une fois le flux de travail terminé, vérifiez qu’une nouvelle branche est 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.

  4. Sélectionnez la branche que l’action a créée.

  5. Vérifiez que le solutions/ALMLab dossier est créé dans la nouvelle branche. Ensuite, créez une pull request pour fusionner les modifications dans la branche principale. Sélectionnez Contribuer et, dans le menu volant , sélectionnez Ouvrir la Pull request.

  6. Dans l’écran Ouvrir une pull request, ajoutez un titre et une description si vous le souhaitez, puis sélectionnez Créer une pull request.

  7. L’écran est mis à jour pour afficher la nouvelle pull request. Lorsque vous créez la pull request, vous obtenez la confirmation que votre branche n’a aucun conflit avec la branche principale. Cette confirmation signifie que vous pouvez fusionner automatiquement les modifications à la branche principale. Sélectionnez Fusionner la pull request, puis sélectionnez Confirmer la fusion. Si vous le souhaitez, sélectionnez supprimer la branche pour supprimer la branche obsolète.

    Voir les branches

  8. Revenez à la branche par défaut (principale) et vérifiez que la solution y est disponible sur cette branche.

Créer un workflow réutilisable pour générer un artefact de build et l’importer en production

Dans cette section, créez un workflow supplémentaire qui :

  • Crée une solution gérée et la publie en tant qu’artefact GitHub
  • Importe l’artefact de build dans l’environnement de production
  1. Accédez à Actions et sélectionnez Nouveau flux de travail.

    Créez un workflow.

  2. Choisissez de configurer vous-même un flux de travail.

    Configurez un workflow.

  3. Renommez le titre du flux de travail en release-solution-to-prod-with-inputs. Copiez le contenu du fichier release-solution-to-prod-with-inputs.yml et collez-le dans l’écran Modifier le nouveau fichier .

    Renommez et collez le code.

  4. Committez les modifications. Choisissez Démarrer le commit puis ajoutez un titre et une description (facultatif). Ensuite, sélectionnez Valider un nouveau fichier.

    Valider les modifications.

Appelez le workflow réutilisable sur l’événement de publication

Dans cette section, vous appelez le flux de travail réutilisable sur l’événement release.

  1. Accédez à Actions et sélectionnez Nouveau flux de travail.

    Créez un workflow.

  2. Choisissez configurer vous-même un workflow.

    Configurez un workflow.

  3. Renommez le titre du flux de travail en release-action-call. Copiez le contenu du fichier release-action-call.yml et collez-le dans l’écran Modifier le nouveau fichier .

    Renommez et collez le code.

  4. Mettez à jour les variables suivantes dans le nouveau fichier de workflow :

    • Mettez à jour <BUILD_ENVIRONMENT> avec l’URL de l’environnement de build que vous utilisez pour générer la solution managée. Par exemple : https://poweractionsbuild.crm.dynamics.com.
    • Mettez à jour <PROD_ENVIRONMENT> avec l’URL de l’environnement de production sur lequel vous effectuez le déploiement. Par exemple : https://poweractionsprod.crm.dynamics.com.
    • Mettez à jour <APP_ID> avec l’ID d’application (client) que vous trouvez dans le panneau inscriptions d'applications de Microsoft Portail Azure en sélectionnant l’inscription que vous avez créée précédemment dans ce didacticiel.
    • Mettez à jour <TENANT_ID> avec l’ID d’annuaire (locataire) que vous trouvez dans le panneau inscriptions d'applications de Microsoft Portail Azure en sélectionnant l’inscription que vous avez créée précédemment dans ce didacticiel.
  5. Enregistrez les modifications. Choisissez Démarrer la validation puis ajoutez un titre (facultatif) et une description (facultatif). Ensuite, cliquez sur Créer un fichier.

    Valider les modifications.

Tester la mise en production du workflow

Vous êtes maintenant prêt à tester le dernier flux de travail. Ce flux de travail se déclenche lorsqu’une nouvelle version est déployée en production.

  1. Accédez à Releases.

    Accédez aux versions.

  2. Sélectionnez Rédiger une nouvelle version.

  3. Ajoutez une balise de version, un titre et choisissez Publier la version.

  4. Sélectionnez Actions pour afficher le workflow en cours.

    Sélectionnez pour afficher le flux de travail.

  5. Choisissez le workflow en cours pour afficher les actions au fur et à mesure de leur exécution.

    Affichez le flux de travail.

  6. Attendre que chaque action se termine.

    Affichez la branche.

  7. Une fois le flux de travail terminé, connectez-vous à votre environnement de production et vérifiez que la solution est déployée en tant que solution managée.

Déployer la mise à jour et examiner les modifications avant la sortie de production

Testez le processus de bout en bout, puis découvrez comment afficher et valider les modifications apportées à une application avant de la déployer en production.

  1. Accédez à la solution ALMLab dans votre environnement de développement, puis sélectionnez Modifier ou sélectionner le nom complet de la solution.

    Modifier la solution.

  2. Sélectionnez et affichez la table Demande d’absence.

    Afficher la table.

  3. Sélectionnez + Ajouter une colonne et créez la nouvelle colonne, comme indiqué dans la figure suivante.

    Ajoutez une colonne.

    Valeurs de champ mises à jour:**

    • nom d’affichage : Approuvé
    • Type de données : Oui/Non
  4. Sélectionnez Terminé.

  5. Sélectionnez Enregistrer la table. Ajoutez une colonne.

  6. Revenez à l’onglet Actions de vos référentiels GitHub, sélectionnez Exécuter le flux de travail, puis sélectionnez le bouton Exécuter le flux de travail.

    Exécutez le workflow.

  7. Après 5 à 10 secondes, le flux de travail démarre. Sélectionnez le flux de travail en cours d’exécution pour surveiller sa progression.

    Sélectionnez le workflow.

    Affichez le workflow.

  8. Une fois le flux de travail terminé, accédez à la nouvelle branche en sélectionnant Code , puis Branches.

    Accédez à la branche.

  9. Sélectionnez la branche que vous avez créée en développant contribute et en sélectionnant Ouvrir une pull request.

  10. Ajoutez un titre (facultatif), puis sélectionnez Créer une pull request.

  11. Une fois le contenu mis à jour, sélectionnez l’onglet Fichiers modifiés .

  12. 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.

  13. Revenez à l’onglet Conversation. Sélectionnez Pull requests, puis sélectionnez la pull request que vous avez créée précédemment.

  14. Dans la page Pull request, sélectionnez Squash and merge pour fusionner le fichier solution mis à jour dans votre branche principale. Si vous le souhaitez, supprimez cet élément désormais fusionné dans main.

    Ouvrir une pull request pour une nouvelle branche, afficher les modifications et fusionner avec la branche par défaut

  15. Suivez les étapes décrites dans la section Tester le flux de travail de déploiement en production pour créer une nouvelle version et vérifier que la solution mise à jour est déployée dans votre environnement de production.

Félicitations, vous avez correctement configuré un exemple de flux de travail CI/CD à l’aide de GitHub actions !

Voir aussi

Automatisez votre flux de travail de idée à la production