Contenu
Concept essentiels de github actions
- Workflow : un process fait d’un ou plusieur jobs. Le workflow est un fichier YAML
- job : un ensemble de steps exécuté sur un même runner, tournent en parallèle en général et spécifie l’OS
- step : une tâche dans un job, peut être une action ou une commande shell., share filesystem
- runner : le serveur qui exécute le workflow
Qu’est ce qu’un action?
Une action est un ensemble de code au sein d’un workflow. En savoir plus sur les actions (EN)
Dans le contexte de GitHub Actions, une action est une application personnalisée pour la plateforme GitHub Actions qui automatise une tâche spécifique ou un ensemble de tâches au sein d’un workflow. Les actions sont les éléments de base des workflows et peuvent être réutilisées dans plusieurs workflows et dépôts.
Points Clés sur les Actions
- Unités de Code Réutilisables : Les actions sont conçues pour être réutilisables. Vous pouvez les partager entre différents dépôts et avec la communauté GitHub.
- Préconstruites ou Personnalisées : Vous pouvez utiliser des actions préconstruites disponibles sur le GitHub Marketplace ou créer vos propres actions personnalisées adaptées à vos besoins spécifiques.
- Encapsulent des Tâches : Les actions encapsulent des tâches telles que le checkout du code, la configuration des environnements, l’exécution de tests et le déploiement des applications.
- Configurables : Les actions acceptent souvent des entrées et produisent des sorties, ce qui permet de les personnaliser et de les composer ensemble pour créer des workflows complexes.
Types d’Actions
- Actions JavaScript : Actions construites en utilisant Node.js qui peuvent exécuter du code JavaScript.
- Actions de Conteneur Docker : Actions qui s’exécutent dans un conteneur Docker, ce qui vous permet de les empaqueter avec toutes leurs dépendances.
- Actions Composites : Actions qui combinent plusieurs étapes en une seule action, définie en utilisant une série de commandes shell et d’autres actions.
Qu’est ce que actions/checkout@v3?
C’est une action prédéfinie de Github, qui clone un repository dans l’environnement du workflow.
Glossaire Github action:
logs
uses : est utlisé pour sélectionner une action déjà définie dans un docker, dans un repository.
name: le nom du workflow
on : écouteur d’événement
artifact
runs-on: spécifie le type de machine (ou « runner ») sur laquelle un job doit s’exécuter. Un runner est un serveur qui exécute les workflows définis dans vos fichiers YAML. Un runner peut être auto-hébergé.
Types de Runners Disponibles
GitHub Actions offre plusieurs types de runners hébergés (préconfigurés par GitHub) que vous pouvez utiliser :
ubuntu-latest
: Une machine virtuelle exécutant la dernière version stable d’Ubuntu.ubuntu-20.04
: Une machine virtuelle exécutant Ubuntu 20.04.ubuntu-22.04
: Une machine virtuelle exécutant Ubuntu 22.04.windows-latest
: Une machine virtuelle exécutant la dernière version stable de Windows.windows-2019
: Une machine virtuelle exécutant Windows Server 2019.macos-latest
: Une machine virtuelle exécutant la dernière version stable de macOS.macos-11
: Une machine virtuelle exécutant macOS 11 (Big Sur).
steps:
Liens externes:
https://www.digitalocean.com/community/tech-talks/deploying-to-digitalocean-with-github-actions