Skip to main content

À propos des actions personnalisées

Les actions sont des tâches individuelles que vous pouvez combiner pour créer des travaux et personnaliser votre workflow. Vous pouvez créer vos propres actions ou utiliser et personnaliser des actions partagées par la GitHub communauté.

À propos des actions personnalisées

Vous pouvez créer des actions en écrivant du code personnalisé qui interagit avec votre référentiel de quelque manière que ce soit, y compris l’intégration avec GitHubles API de ' et toutes les API tierces disponibles publiquement. Par exemple, une action peut publier des modules npm, envoyer des alertes par SMS lors de la création de problèmes urgents ou déployer du code prêt pour la production.

Vous pouvez écrire vos propres actions à utiliser dans votre flux de travail ou partager les actions que vous créez avec la GitHub communauté. Si vous souhaitez partager les actions que vous avez créées avec tout le monde, votre dépôt doit être public.

Les actions peuvent s’exécuter directement sur un ordinateur ou dans un conteneur Docker. Vous pouvez définir les entrées, les sorties et les variables d’environnement d’une action.

Types d’actions

Remarque

Vous pouvez créer des actions composites, de conteneur Docker et JavaScript. Les actions nécessitent un fichier de métadonnées pour définir les entrées, les sorties et la configuration d’exécution de votre action. Les fichiers de métadonnées d’action utilisent la syntaxe YAML, et le nom du fichier de métadonnées doit être action.yml ou action.yaml. Le format préféré est action.yml.

TypeLinuxmacOSWindows
Conteneur Docker
JavaScript
Actions composites

Actions de conteneur Docker

Les conteneurs Docker empaquetent l’environnement avec le GitHub Actions code. Cela crée une unité de travail plus cohérente et plus fiable, car le consommateur de l’action n’a pas à s’inquiéter des outils ou des dépendances.

Un conteneur Docker vous permet d’utiliser des versions spécifiques du système d’exploitation, des dépendances, des outils et du code. Pour les actions qui doivent s’exécuter dans une configuration d’environnement spécifique, Docker est idéal car il permet de personnaliser le système d’exploitation et les outils. Étant donné la latence nécessaire à la création et à la récupération du conteneur, les actions de conteneur Docker sont souvent plus lentes que les actions JavaScript.

Les actions de conteneur Docker peuvent uniquement s’exécuter sur des exécuteurs où est installé un système d’exploitation Linux. Les runners auto-hébergés doivent utiliser un système d’exploitation Linux et avoir Docker installé pour exécuter les actions de conteneur Docker. Pour plus d'informations sur les exigences des runners auto-hébergés, veuillez consulter la section Exécuteurs auto-hébergés.

Actions JavaScript

Les actions JavaScript peuvent s’exécuter directement sur la machine de l’exécuteur et séparer le code d’action de l’environnement qui est utilisé pour exécuter le code. L’utilisation d’une action JavaScript simplifie le code d’action et permet une exécution plus rapide qu’une action de conteneur Docker.

Pour garantir la compatibilité de vos actions JavaScript avec tous les exécuteurs hébergés sur GitHub (Ubuntu, Windows et macOS), le code JavaScript packagé que vous écrivez doit être du code JavaScript pur et ne doit pas dépendre d’autres fichiers binaires. Les actions JavaScript s’exécutent directement sur l’exécuteur et utilisent des fichiers binaires qui existent déjà dans l’image de l’exécuteur.

Si vous développez un projet Node.js, le GitHub Actions Kit de ressources fournit des packages que vous pouvez utiliser dans votre projet pour accélérer le développement. Pour plus d’informations, consultez le dépôt actions/toolkit.

Actions composites

Une action composite permet de combiner plusieurs étapes de workflow dans une même action. Par exemple, vous pouvez utiliser cette fonctionnalité pour regrouper plusieurs commandes d’exécution dans une action, puis utiliser un workflow pour exécuter les commandes groupées en une seule étape à l’aide de cette action. Pour voir un exemple, consultez « Création d’une action composite ».

Étapes suivantes

Pour savoir comment gérer vos actions personnalisées, consultez Gestion des actions personnalisées.