Avec l'évolution des pratiques DevOps, l'automatisation est essentielle pour obtenir des flux de travail efficaces et fiables. GitHub Actions fournit déjà un pipeline DevOps polyvalent, mais l'ajout de Power Automate peut vous aider à aller encore plus loin. Dans cet article, nous allons découvrir comment améliorer votre pipeline GitHub Actions en intégrant un flux Power Automate pour envoyer des e-mails (ou des messages Slack/Teams) et mettre à jour les variables d'environnement chaque fois qu'un flux de travail de déploiement se termine avec succès.
Pourquoi combiner GitHub Actions et Power Automate ?
- Alertes centralisées : en tirant parti de Power Automate, vous pouvez envoyer automatiquement des notifications à tous les membres de l'équipe concernés. Cela permet de garantir que tout le monde est immédiatement informé des événements importants du flux de travail.
- Connecteurs flexibles : Power Automate propose des connecteurs intégrés pour Outlook, Slack, Teams et de nombreux autres services, vous permettant d'adapter votre stratégie de notification aux canaux de communication de votre équipe.
- Facilité de configuration : GitHub Actions et Power Automate présentent des interfaces utilisateur intuitives et une documentation robuste, ce qui rend l'intégration simple, même pour les équipes sans expérience approfondie de DevOps.
Conditions préalables
1. Compte GitHub : assurez-vous que vous disposez des autorisations nécessaires pour créer ou modifier un pipeline GitHub Actions dans votre référentiel.
2. Licence Power Automate : vous aurez besoin d'une licence ou d'une version d'évaluation valide pour Power Automate.
3. Connexion à Outlook/Slack/Teams : assurez-vous d'avoir configuré un connecteur pour le service que vous prévoyez d'utiliser pour les notifications.
Étape 1 : créez ou mettez à jour votre pipeline GitHub Actions
1. Ouvrez votre référentiel dans GitHub et accédez à l'onglet Actions.
2. Sélectionnez ou créez un workflow que vous souhaitez améliorer avec des notifications. Si vous partez de zéro, choisissez l'un des modèles prédéfinis ou créez un nouveau workflow basé sur YAML.
3. Définissez vos étapes : assurez-vous que vos étapes de build, de test ou de déploiement sont correctement configurées pour produire un état de réussite ou d'échec.
Un exemple d'extrait d'un workflow GitHub Actions pourrait ressembler à ceci :
// define notification object
name: Build and Test
on:
push:
branches: [ main ]
pull_request:
branches: [ main ]
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Run Build
run: |
npm install
npm run build
- name: Test
run: npm test
Étape 2 : créer le flux Power Automate
1. Connectez-vous à Power Automate https://make.powerautomate.com.
2. Créer un nouveau flux : sélectionnez l'option **Flux cloud automatisé** pour déclencher un événement spécifique.
3. Définissez votre déclencheur : selon la manière dont vous souhaitez intégrer, vous pouvez utiliser un webhook GitHub ou un déclencheur de bouton manuel pour les tests. Dans notre cas, nous choisirons le connecteur « http » (lorsqu'une requête HTTP est reçue)
4. Ajouter un connecteur Outlook/Slack/Teams :
- Outlook : utilisez l'action « Envoyer un e-mail (V2) », spécifiez les destinataires et remplissez l'objet et le corps.
- Slack : utilisez l'action « Publier un message sur Slack », choisissez le canal approprié et rédigez un message concis.
- Teams : utilisez l'action « Publier un message (V3) », sélectionnez le canal ou l'utilisateur et créez votre notification.
Étape 3 : connecter GitHub Actions à Power Automate
Pour déclencher votre flux Power Automate à partir de GitHub Actions, suivez l'une de ces approches :
1. Webhooks :
- Dans votre flux Power Automate, sélectionnez **Lorsqu'une requête HTTP est reçue** comme déclencheur.
- Copiez l'URL du déclencheur et ajoutez-la à votre flux de travail GitHub Actions en tant qu'étape :
- name: Trigger Power Automate Flow
run: |
curl -X POST -H "Content-Type: application/json" -d '{ "param1": "value1" }'
2. Déclencheur manuel : vous pouvez démarrer le flux Power Automate manuellement pendant vos étapes d'action GitHub. Bien que cette approche soit moins automatique, elle peut être utile pour la démonstration ou les tests.
PS : l'URI HTTP vous sera fournie dans Power Automate. Chaque fois que cette URL sera appelée avec les attributs appropriés, elle exécutera votre flux Power Automate. Dans les paramètres de l'appel d'API, vous pouvez définir la version de l'application déployée, le statut (réussite/échec) et tout autre type de valeurs requises dans vos notifications Teams/Outlook.
Étape 4 : Valider l'intégration
1. Valider les modifications dans votre référentiel GitHub.
2. Afficher l'onglet Actions : Observez l'exécution du pipeline.
3. Vérifiez vos e-mails/Slack/Teams : vous devriez voir une notification une fois le flux de travail terminé avec succès.
Conclusion
En intégrant Power Automate à votre flux de travail GitHub Actions, vous créez un processus DevOps plus robuste. Power Automate offre un moyen puissant de distribuer les mises à jour critiques aux bonnes personnes, à l'aide de connecteurs tels qu'Outlook, Slack ou Teams. Cela garantit que toutes les personnes impliquées sont informées de la réussite de l'exécution ou rapidement alertées en cas de problème. Commencez dès aujourd'hui à créer des pipelines plus efficaces en combinant les atouts de GitHub Actions et de Power Automate !