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

  1. Aller à https://github.com et cliquez sur S’inscrire ou Démarrer un essai gratuit (ou connectez-vous si vous avez un compte existant).

    Créer le compte

  2. Après avoir créé votre compte, créez un référentiel en sélectionnant Créer un référentiel ou Nouveau.

    Création d’un référentiel

    Vous pouvez voir l’écran de destination alternatif suivant :

    Créer un référentiel

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

    Lancez le référentiel.

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

  1. Accédez à votre référentiel et cliquez sur Paramètres, puis développez Secrets et cliquez sur Actions.

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

    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 workflow pour exporter et décompresser le fichier de solution dans une nouvelle branche

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

    Configurez un workflow.

  2. Cela lancera un nouveau fichier YAML avec un workflow de base pour vous aider à démarrer avec les actions GitHub.

    Exemple de fichier YML

  3. 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 ».

    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 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 familier avec les actions GitHub et que vous souhaitez en savoir plus, consultez la documentation officielle sur https://docs.github.com/en/actions.

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

    Commencez la validation.

Félicitations, vous venez de créer votre premier workflow GitHub en utilisant les actions suivantes :

  • Qui suis je : Garantit que vous pouvez vous connecter avec succès à l’environnement à partir duquel vous exportez.
  • Solution d’exportation : Exporte le fichier de solution depuis votre environnement de développement.
  • Décompresser la solution : Le fichier de solution exporté depuis le serveur 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 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 branche pour stocker la solution exportée.

Tester l’exportation et décompresser le workflow

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

    Exécuter le workflow.

  2. Au bout de 5 à 10 secondes, le workflow démarre et vous pouvez sélectionner le workflow en cours pour surveiller la progression.

    Cliquez pour afficher le workflow.

    Sélectionnez et affichez le workflow.

  3. 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. Naviguez vers l’onglet Code et développez le menu déroulant branches.

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

  5. 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 volant, cliquez sur Ouvrir la demande d’extraction.

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

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

    Voir les branches

  8. 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
  1. Aller à Actions et sélectionnez Nouveau workflow.

    Créez un workflow.

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

    Configurez un workflow.

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

    Renommez et collez le code.

  4. Validez les modifications. Choisissez Démarrer la validation puis ajoutez un titre et une description (facultatif). Ensuite, cliquez sur Valider un nouveau fichier.

    Validez les modifications.

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.

  1. Aller à Actions et sélectionnez Nouveau workflow.

    Créez un workflow.

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

    Configurez un workflow.

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

    Renommez et collez le code.

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

  5. Validez les modifications. Choisissez Démarrer la validation puis ajoutez un titre (facultatif) et une description (facultatif). Ensuite, cliquez sur Valider un nouveau fichier.

    Validez les modifications.

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.

  1. Accéder à Versions.

    Accédez aux versions.

  2. Sélectionnez Créer un brouillon d’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 workflow.

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

    Affichez le workflow.

  6. Attendre que chaque action se termine.

    Affichez la branche.

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

  1. Accédez à la solution ALMLab dans votre environnement de développement et choisissez Modifier ou cliquez sur le nom d’affichage des solutions.

    Modifier la solution.

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

    Afficher la table.

  3. Cliquez sur + Ajouter une colonne et créez la colonne comme indiqué dans la figure ci-dessous.

    Ajoutez une colonne.

    Valeurs des champs mis à jour :**

    • Nom d’affichage : Approuvé
    • Type de données : Oui/Non
  4. Cliquez sur Terminé.

  5. Cliquez sur Enregistrer la tableAjoutez une colonne.

  6. Revenez à votre onglet Actions des référentiels GitHub, choisissez Exécuter le workflow, et sélectionnez le bouton Exécuter le workflow.

    Exécutez le workflow.

  7. Au bout de 5 à 10 secondes, le workflow démarre et vous pouvez cliquer sur le workflow en cours pour surveiller sa progression.

    Sélectionnez le workflow.

    Affichez le workflow.

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

    Accédez à la branche.

  9. Sélectionnez la branche créée par le workflow et développez contribuer et cliquez sur Ouvrir la demande d’extraction.

  10. Ajoutez un titre (facultatif), puis cliquez sur Créer une demande d’extraction.

  11. Après les mises à jour de contenu, cliquez sur 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 Demandes d’extraction, puis sélectionnez la demande d’extraction précédemment créée.

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

    Ouvrir une demande d’extraction pour une nouvelle branche, afficher les modifications et fusionner avec la branche par défaut

  15. 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 !

Voir aussi

Automatisez votre workflow de l’idée à la production