Skip to main content

Comprendre GitHub Actions

Apprenez les bases de GitHub Actions, y compris les concepts de base et la terminologie essentielle.

Note

Les exécuteurs hébergés sur GitHub ne sont pas pris en charge sur GitHub Enterprise Server. Vous pouvez voir plus d’informations sur le support futur planifié dans la GitHub public roadmap.

Vue d'ensemble

GitHub Actions est une plateforme d’intégration continue et livraison continue (CI/CD) qui vous permet d’automatiser votre pipeline de génération, de test et de déploiement. Vous pouvez créer des workflows qui créent et testent chaque demande de tirage (pull request) adressée à votre dépôt, ou déployer des demandes de tirage fusionnées en production.

GitHub Actions dépasse DevOps simplement et vous permet d'exécuter des workflows lorsque d'autres événements se produisent dans votre dépôt. Par exemple, vous pouvez exécuter un workflow pour ajouter automatiquement les étiquettes appropriées chaque fois que quelqu'un crée un problème dans votre dépôt.

Vous devez héberger vos propres machines virtuelles Linux, Windows ou macOS pour exécuter des workflows pour votre instance GitHub Enterprise Server. Les exécuteurs auto-hébergés peuvent être physiques ou virtuels, et se trouver dans un conteneur, localement ou dans un cloud.

Pour plus d'informations sur l'introduction de GitHub Actions dans votre entreprise, consultez « Introduction de GitHub Actions votre entreprise ».

Composants de GitHub Actions

Vous pouvez configurer un workflow GitHub Actions à déclencher quand un événement se produit dans votre dépôt, par exemple l'ouverture d'une demande de tirage (pull request) ou la création d'un problème. Votre workflow contient un ou plusieurs travaux qui peuvent s'exécuter dans un ordre séquentiel ou en parallèle. Chaque travail s'exécute au sein de son propre exécuteur de machine virtuelle, ou au sein d'un conteneur, et comporte une ou plusieurs étapes qui exécutent un script que vous définissez ou une action, qui est une extension réutilisable qui peut simplifier votre workflow.

Diagramme d'un événement déclenchant Exécuteur 1 pour exécuter Travail 1, lequel déclenche Exécuteur 2 pour exécuter Travail 2. Chacun des travaux est divisé en plusieurs étapes.

Workflows

Un workflow est un processus automatisé configurable qui exécutera un ou plusieurs travaux. Les workflows sont définis par un fichier YAML archivé dans votre dépôt et s’exécutent lorsqu’ils sont déclenchés par un événement dans votre dépôt, ou ils peuvent être déclenchés manuellement ou selon une planification définie.

Les workflows sont définis dans l’annuaire .github/workflows d’un dépôt. Un référentiel peut comporter plusieurs workflows, chacun d’entre eux pouvant effectuer un ensemble de tâches différentes, telles que :

  • Création et test des demandes de tirage.
  • Déploiement de votre application à chaque création d’une version.
  • Ajout d’une étiquette chaque fois qu’un nouveau problème est ouvert.

Vous pouvez référencer un workflow dans un autre workflow. Pour plus d’informations, consultez « Réutilisation des workflows ».

Pour plus d’informations, consultez « Écriture de workflows ».

Événements

Un événement est une activité spécifique dans un dépôt qui déclenche l’exécution d’un workflow. Par exemple, une activité peut provenir de GitHub quand quelqu’un crée une demande de tirage (pull request), ouvre un problème ou pousse (push) un commit vers un référentiel. Vous pouvez également déclencher une exécution de workflow selon une planification, en publiant dans une API REST ou manuellement.

Pour obtenir la liste complète des événements qui peuvent être utilisés pour déclencher des workflows, consultez Événements déclencheurs de workflows.

travaux

Un travail est un ensemble d’étapes dans un workflow qui s’exécute sur le même exécuteur. Chaque étape est un script d'interpréteur de commandes qui sera exécuté ou une action qui sera exécutée. Les étapes sont exécutées dans l'ordre et dépendent les unes des autres. Comme chaque étape est exécutée sur le même exécuteur, vous pouvez partager des données d'une étape à une autre. Par exemple, vous pouvez avoir une étape qui génère votre application suivie d'une étape qui teste l'application générée.

Vous pouvez configurer les dépendances d’un travail avec d’autres travaux. Par défaut, les travaux n’ont aucune dépendance et s’exécutent en parallèle. Quand un travail accepte une dépendance liée à un autre travail, il attend la fin du travail dépendant avant de s’exécuter.

Par exemple, vous pouvez configurer plusieurs travaux de build pour différentes architectures sans aucune dépendance de travail et un travail de création de package qui dépend de ces builds. Les travaux de génération s’exécutent en parallèle et le travail d’empaquetage s’exécutera quand ils auront fini de s’exécuter.

Pour plus d’informations, consultez « Choix de ce que fait votre workflow ».

Actions

Une action est une application personnalisée pour la plateforme GitHub Actions qui effectue une tâche complexe mais fréquemment répétée. Utilisez une action pour réduire la quantité de code répétitif que vous écrivez dans vos fichiers de workflow. Une action peut tirer (pull) votre dépôt Git à partir de GitHub, configurer la chaîne d’outils appropriée pour votre environnement de build ou configurer l’authentification auprès de votre fournisseur de cloud.

Vous pouvez écrire vos propres actions ou trouver des actions à utiliser dans vos workflows dans le GitHub Marketplace.

Pour partager des actions au sein de votre entreprise sans les publier publiquement, vous pouvez les stocker dans un référentiel interne, puis configurer celui-ci pour autoriser l’accès aux workflows GitHub Actions dans d’autres référentiels appartenant à la même organisation ou à toute autre organisation de l’entreprise. Pour plus d’informations, consultez « Partage d’actions et de workflows au sein de votre entreprise ».

Pour plus d’informations sur les actions, consultez « Partage des automatisations ».

Exécuteurs

Un exécuteur est un serveur qui exécute vos workflows quand ils sont déclenchés. Chaque exécuteur ne peut exécuter qu’un seul travail à la fois. Vous devez héberger vos propres exécuteurs pour GitHub Enterprise Server.

Pour plus d’informations, consultez « Hébergement de vos propres exécuteurs ».

Étapes suivantes

GitHub Actions peut vous aider à automatiser presque tous les aspects de vos processus de développement d’applications. Vous êtes prêt à commencer ? Voici quelques ressources utiles pour effectuer vos étapes suivantes avec GitHub Actions :

  • Pour créer un workflow GitHub Actions, consultez « Utilisation de modèles de workflow ».
  • Pour connaître les workflows d’intégration continue (CI), consultez « Création et test ».
  • Pour générer et publier des packages, consultez « Publication de packages ».
  • Pour le déploiement de projets, consultez « Cas d’usage et exemples ».
  • Pour automatiser les tâches et les processus sur GitHub, consultez « Gestion des projets ».
  • Pour obtenir des exemples illustrant des fonctionnalités plus complexes de GitHub Actions, consultez « Cas d’usage et exemples ». Ces exemples détaillés expliquent comment tester votre code sur un exécuteur et accéder à la CLI GitHub. Ils montrent également comment utiliser des fonctions avancées telles que la concurrence et les matrices de test.

Pour aller plus loin