Configuration de GitHub Actions pour CI Visibility
Ce produit n'est pas pris en charge par le
site Datadog que vous avez sélectionné. (
).
Section Overview
GitHub Actions est un outil d’automatisation qui vous permet de créer, tester et déployer votre code dans GitHub. Créez des workflows qui automatisent chaque étape de votre processus de développement, rationalisant les mises à jour logicielles et améliorant la qualité du code avec des fonctionnalités CI/CD intégrées à vos référentiels.
Configurez CI Visibility pour GitHub Actions pour suivre l’exécution de vos workflows, identifier les goulots d’étranglement de performance, résoudre les problèmes opérationnels et optimiser vos processus de déploiement.
Compatibilité
Les versions de GitHub suivantes sont prises en charge :
- GitHub.com (SaaS)
- Serveur GitHub Enterprise 3.5.0 ou une version ultérieure
Termes
Ce tableau montre le mappage des concepts entre Datadog CI Visibility et GitHub Actions :
| Datadog | Actions GitHub |
|---|
| Pipeline | Workflow |
| Job | Job |
| Step | Step |
L’intégration GitHub Actions utilise une GitHub App privée pour collecter les informations de workflow. Si vous avez déjà une application, vous pouvez passer à la section suivante.
- Accédez au carré d’intégration GitHub.
- Cliquez sur + Create GitHub App.
- Configurez l’intégration pour un compte personnel ou d’organisation et saisissez le nom de l’organisation GitHub.
- Sélectionnez les fonctionnalités Datadog que vous souhaitez activer pour l’app GitHub.
- Dans la section Edit Permissions, accordez l’accès
Actions: Read Only. - Cliquez sur Create App in GitHub pour terminer le processus de création d’application sur GitHub.
- Attribuez un nom à l’application, par exemple
Datadog CI Visibility. - Cliquez sur Install GitHub App, puis suivez les instructions sur GitHub.
Une fois l’application GitHub créée et installée, activez CI Visibility sur les comptes et/ou les référentiels qui vous intéressent.
- Dans Datadog, accédez à Software Delivery > CI Visibility > Add a Pipeline Provider et sélectionnez GitHub.
- Cliquez sur Enable Account pour le compte que vous souhaitez activer.
- Activez CI Visibility pour l’ensemble du compte en cliquant sur le bouton bascule à côté de Enable CI Visibility.
- Vous avez également la possibilité d’activer des référentiels individuels. Pour ce faire, faites défiler la liste des référentiels et cliquez sur le bouton Enable CI Visibility.
Les pipelines s’afficheront immédiatement après l’activation de CI Visibility pour un compte ou un référentiel.
Désactiver CI Visibility pour GitHub Actions
Pour désactiver l’intégration CI Visibility GitHub Actions :
- Accédez à la page CI GitHub Settings.
- Choisissez le compte GitHub pour lequel vous souhaitez désactiver CI Visibility et cliquez sur Account Enabled.
- Désactivez le bouton bascule Enable CI Visibility, ou choisissez le référentiel pour lequel vous souhaitez le désactiver individuellement.
Collecter les logs de tâche
L’intégration CI Visibility GitHub Actions permet également de transférer automatiquement les logs de tâche de workflow vers Log Management.
Pour activer la collecte de logs de tâche :
- Dans Datadog, accédez à Software Delivery > CI Visibility > Add a Pipeline Provider et sélectionnez GitHub.
- Cliquez sur Enable Account pour le compte que vous souhaitez activer.
- Activez la collecte de logs de tâche pour l’ensemble du compte en cliquant sur le bouton bascule à côté de Enable Job Logs Collection.
- Vous avez également la possibilité d’activer des référentiels individuels. Pour ce faire, faites défiler la liste des référentiels et cliquez sur le bouton Enable Job Logs Collection.
Immédiatement après l’activation de la collecte de logs, les logs de tâche de workflow sont transférés vers Datadog Log Management. Les fichiers de logs de plus de 1 Gio sont tronqués.
Les logs sont facturés séparément de CI Visibility. La rétention, l’exclusion et les index de logs sont configurés dans Log Management. Les logs pour les tâches GitHub peuvent être identifiés par les tags datadog.product:cipipeline et source:github.
Mettre les métriques d’infrastructure en corrélation avec les tâches
L’intégration CI Visibility GitHub Actions permet de mettre en corrélation l’infrastructure et les tâches. Pour y parvenir, assurez-vous que le Datadog Agent est en cours d’exécution sur l’hôte où les tâches sont exécutées. Selon la configuration, des étapes supplémentaires peuvent être nécessaires :
Pour Actions Runner Controller : aucune configuration supplémentaire requise. En raison des limitations du Datadog Agent, les tâches plus courtes que l’intervalle de collecte minimum du Datadog Agent peuvent ne pas toujours afficher les métriques de corrélation d’infrastructure. Pour ajuster cette valeur, consultez la section Modèle de configuration du Datadog Agent et modifiez min_collection_interval pour qu’il soit inférieur à 15 secondes.
Pour les autres configurations : pour mettre en corrélation les tâches avec les hôtes qui les exécutent, assurez-vous que le nom du runner GitHub correspond au nom d’hôte de la machine.
Pour voir les métriques, cliquez sur un span de tâche dans la vue de trace. Une fenêtre s’ouvre avec un onglet Infrastructure affichant les métriques d’hôte.
Analyse des échecs de tâches CI
Si la collecte de logs de tâche est activée, CI Visibility utilise des modèles LLM pour analyser les tâches CI ayant échoué en fonction des logs pertinents provenant de GitHub Actions.
Vous pouvez également ajouter l’analyse des échecs de tâches à un commentaire de PR. Consultez le guide sur l’utilisation des commentaires de PR.
Pour une explication complète, consultez le guide sur l’utilisation de l’analyse des échecs de tâches CI.
Visualiser les données de pipeline dans Datadog
Les pages CI Pipeline List et Executions se remplissent de données une fois les pipelines terminés.
La page CI Pipeline List affiche les données uniquement pour la branche par défaut de chaque référentiel. Pour en savoir plus, consultez la section Rechercher et gérer les pipelines CI.
Pour aller plus loin
Documentation, liens et articles supplémentaires utiles: