La pla­te­forme d’in­té­gra­tion continue et de livraison continue GitHub Actions vous permet d’au­to­ma­ti­ser dif­fé­rentes actions. En n’ayant plus à effectuer ma­nuel­le­ment des tâches ré­pé­ti­tives, vous pouvez consacrer davantage de temps à vos vé­ri­tables projets.

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

GitHub Actions est la pla­te­forme dé­ve­lop­pée par GitHub pour l’in­té­gra­tion et la livraison continues. Elle permet aux uti­li­sa­teurs d’au­to­ma­ti­ser leurs ré­fé­ren­tiels, 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é­ren­tiel GitHub cor­res­pon­dant.

Comment fonc­tionne GitHub Actions ?

GitHub Actions s’appuie di­rec­te­ment sur vos workflows GitHub. Dans ces workflows, vous pouvez vous adapter aux dif­fé­rents évè­ne­ments qui se pro­dui­sent, tels que des requêtes « push », et dé­clen­cher les actions ap­pro­priées pour réagir à ceux-ci. Un workflow comprend dif­fé­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 vir­tuelles Linux, Windows et macOS.

Conseil

Pour déployer di­rec­te­ment vos projets et vos sites Web, la solution Deploy Now proposée par IONOS est idéale. Elle vous permet en effet de per­son­na­li­ser vos workflows GitHub à n’importe quel moment.

GitHub Actions : éléments es­sen­tiels

Workflows

Un workflow GitHub constitue l’élément central de toute uti­li­sa­tion 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è­ne­ments se pro­dui­sent. Pour dé­clen­cher un workflow, vous n’avez pas forcément besoin d’un évènement : vous pouvez tout aussi bien exécuter votre workflow ma­nuel­le­ment, ou utiliser l’outil de pla­ni­fi­ca­tion 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é­ren­tiel ; en fait, vous êtes libre de définir n’importe quel nombre de workflows pour votre ré­fé­ren­tiel GitHub.

Évè­ne­ments

Comme nous venons de l’expliquer, les workflows sont souvent dé­clen­chés par des « évè­ne­ments » : cela signifie qu’une action bien précise au sein de votre ré­fé­ren­tiel GitHub déclenche l’exécution d’un workflow. Les requêtes « pull » comptent parmi les exemples clas­siques d’évè­ne­ments GitHub. Toutefois, il est possible d’utiliser de nombreux autres évè­ne­ments. La liste complète de ces solutions est dis­po­nible dans la do­cu­men­ta­tion GitHub.

Actions

Les actions sont bien évi­dem­ment le point central de l’outil GitHub Actions, auquel elles ont même donné leur nom. Une « action » désigne une ap­pli­ca­tion GitHub in­di­vi­duelle qui exécute des tâches complexes parmi celles qui re­vien­nent 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é­ti­tion 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é­fi­nies est dis­po­nible sur GitHub Mar­ket­place.

Étapes

Les étapes cor­res­pon­dent aux éléments in­di­vi­duels qui, ensemble, cons­ti­tuent 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 dif­fé­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 cor­res­pond tout sim­ple­ment à une suc­ces­sion d’étapes suivies par un « exécuteur ». Les tâches sont nor­ma­le­ment in­dé­pen­dantes, mais sachez qu’il est possible de créer ma­nuel­le­ment des dé­pen­dances entre vos dif­fé­rentes tâches ; les tâches con­cer­nées doivent alors « attendre » toutes les autres tâches dont elles dépendent, ce qui est sus­cep­tible d’in­ter­rompre l’exécution normale de dif­fé­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. Fon­da­men­ta­le­ment, les exé­cu­teurs sont donc des machines vir­tuelles. Les systèmes d’ex­ploi­ta­tion Linux Ubuntu, Windows et macOS sont pris en charge par GitHub. Si vous avez besoin d’un autre système d’ex­ploi­ta­tion sur lequel tester vos projets, vous pouvez tout à fait choisir d’héberger vous-même vos exé­cu­teurs.

Avantages de GitHub Actions

GitHub Actions s’intègre par­fai­te­ment à votre travail avec GitHub, et son service d’in­té­gra­tion continue est également source de nombreux autres avantages. Vous pouvez ainsi opter pour des modèles pré­dé­fi­nis, sans forcément avoir à utiliser vos propres workflows. En outre, ce service GitHub est to­ta­le­ment gratuit pour les ré­fé­ren­tiels publics. En ce qui concerne les ré­fé­ren­tiels privés, GitHub propose 2 000 minutes par mois pour les workflows hébergés.

Aller au menu principal