GitHub Actions : présentation rapide des bases

La plateforme d’intégration continue et de livraison continue GitHub Actions vous permet d’automatiser différentes actions. En n’ayant plus à effectuer manuellement des tâches répétitives, vous pouvez consacrer davantage de temps à vos véritables projets.

GitHub Actions : qu’est-ce que c’est ?

GitHub Actions est la plateforme développée par GitHub pour l’intégration et la livraison continues. Elle permet aux utilisateurs d’automatiser leurs référentiels, mais aussi de créer des « workflows GitHub ». Il est notamment possible de compiler un nouveau code ou d’exécuter des tests unitaires en lien avec un projet, le tout par défaut, dès lors que le code est mis à jour dans le référentiel GitHub correspondant.

Comment fonctionne GitHub Actions ?

GitHub Actions s’appuie directement sur vos workflows GitHub. Dans ces workflows, vous pouvez vous adapter aux différents évènements qui se produisent, tels que des requêtes « push », et déclencher les actions appropriées pour réagir à ceux-ci. Un workflow comprend différentes tâches (ou « Jobs »), chacune d’elles s’exécutant dans une machine virtuelle qui lui est propre ou au sein d’un conteneur. GitHub prend en charge les machines virtuelles Linux, Windows et macOS.

Conseil

Pour déployer directement vos projets et vos sites Web, la solution Deploy Now proposée par IONOS est idéale. Elle vous permet en effet de personnaliser vos workflows GitHub à n’importe quel moment.

GitHub Actions : éléments essentiels

Workflows

Un workflow GitHub constitue l’élément central de toute utilisation de GitHub Actions. Avec ce workflow, qui n’est en réalité rien de plus qu’un fichier YAML, vous pouvez définir des actions à exécuter lorsque certains évènements se produisent. Pour déclencher un workflow, vous n’avez pas forcément besoin d’un évènement : vous pouvez tout aussi bien exécuter votre workflow manuellement, ou utiliser l’outil de planification pour prévoir son exécution régulière, à date fixe. Chaque workflow GitHub permet donc d’exécuter une ou plusieurs tâches. Rien ne vous oblige à vous limiter à un workflow par référentiel ; en fait, vous êtes libre de définir n’importe quel nombre de workflows pour votre référentiel GitHub.

Évènements

Comme nous venons de l’expliquer, les workflows sont souvent déclenchés par des « évènements » : cela signifie qu’une action bien précise au sein de votre référentiel GitHub déclenche l’exécution d’un workflow. Les requêtes « pull » comptent parmi les exemples classiques d’évènements GitHub. Toutefois, il est possible d’utiliser de nombreux autres évènements. La liste complète de ces solutions est disponible dans la documentation GitHub.

Actions

Les actions sont bien évidemment le point central de l’outil GitHub Actions, auquel elles ont même donné leur nom. Une « action » désigne une application GitHub individuelle qui exécute des tâches complexes parmi celles qui reviennent le plus souvent. N’hésitez pas à les utiliser dans vos fichiers de workflow, à la manière de fonctions, afin d’éviter la répétition de votre code. Si vous ne voulez pas avoir à écrire vous-même vos GitHub Actions, sachez que toute une gamme d’actions prédéfinies est disponible sur GitHub Marketplace.

Étapes

Les étapes correspondent aux éléments individuels qui, ensemble, constituent des tâches. Elles prennent la force de scripts shell, qu’il convient d’exécuter, ou d’actions qu’il vous suffit de lancer. Les différentes étapes sont traitées dans l’ordre dans lequel vous les avez définies. En outre, elles s’appuient les unes sur les autres et peuvent échanger des données entre elles.

Tâches

Une tâche correspond tout simplement à une succession d’étapes suivies par un « exécuteur ». Les tâches sont normalement indépendantes, mais sachez qu’il est possible de créer manuellement des dépendances entre vos différentes tâches ; les tâches concernées doivent alors « attendre » toutes les autres tâches dont elles dépendent, ce qui est susceptible d’interrompre l’exécution normale de différentes tâches en parallèle.

Exécuteur

L’exécuteur est le serveur sur lequel s’exécutent vos workflows. Un exécuteur ne peut prendre en charge qu’une seule tâche à la fois. Fondamentalement, les exécuteurs sont donc des machines virtuelles. Les systèmes d’exploitation Linux Ubuntu, Windows et macOS sont pris en charge par GitHub. Si vous avez besoin d’un autre système d’exploitation sur lequel tester vos projets, vous pouvez tout à fait choisir d’héberger vous-même vos exécuteurs.

Avantages de GitHub Actions

GitHub Actions s’intègre parfaitement à votre travail avec GitHub, et son service d’intégration continue est également source de nombreux autres avantages. Vous pouvez ainsi opter pour des modèles prédéfinis, sans forcément avoir à utiliser vos propres workflows. En outre, ce service GitHub est totalement gratuit pour les référentiels publics. En ce qui concerne les référentiels privés, GitHub propose 2 000 minutes par mois pour les workflows hébergés.