Skip to main content

Comprendre GitHub Actions

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

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.

GitHub fournit des machines virtuelles Linux, Windows et macOS pour exécuter vos workflows, ou vous pouvez héberger vos propres exécuteurs auto-hébergés dans votre propre centre de données ou infrastructure 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. GitHub fournit les exĂ©cuteurs Ubuntu Linux, Microsoft Windows et macOS pour exĂ©cuter vos workflows. Chaque exĂ©cution de workflow s’exĂ©cute dans une machine virtuelle nouvellement approvisionnĂ©e.

GitHub propose Ă©galement des exĂ©cuteur plus grand, qui sont disponibles dans des configurations plus grandes. Pour plus d’informations, consultez « Utilisation des exĂ©cuteurs plus grands ».

Si vous avez besoin d’un autre systĂšme d’exploitation, ou si vous avez besoin d’une configuration matĂ©rielle spĂ©cifique, vous pouvez hĂ©berger vos propres exĂ©cuteurs.

Pour plus d’informations Ă  propos des exĂ©cuteurs auto-hĂ©bergĂ©s, 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 certifier vos compĂ©tences en matiĂšre d’automatisation des workflows et d’accĂ©lĂ©ration du dĂ©veloppement avec GitHub Actions, obtenez un certificat GitHub Actions avec GitHub Certifications. Pour plus d’informations, consultez « À propos de GitHub Certifications ».

Pour aller plus loin