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