GitHub Actions transforme les événements d’un dépôt en jobs reproductibles sur des runners neufs. Ce cours pratique utilise un vrai dépôt pour aller d’un premier workflow déclenché au push aux tests Node.js, à la publication de conteneurs, aux secrets et à une chaîne CI/build/deploy.
Vous observerez un test Jest réussir puis échouer volontairement, construirez une image et la publierez dans GitHub Container Registry, puis vérifierez le masquage des secrets. Le déploiement introduit déclenchement manuel et dépendances, mais imprime seulement des commandes simulées sans joindre de serveur.
Ce que vous apprendrez
- Créer un dépôt GitHub et placer le YAML dans
.github/workflows - Configurer déclencheurs, jobs, runners hébergés et étapes shell
- Composer des workflows avec checkout et configuration Node.js
- Installer les dépendances, exécuter Jest et analyser un échec volontaire
- Construire et publier une image Docker dans GHCR avec des droits limités
- Référencer un secret par variable d’environnement et vérifier son masquage
- Modéliser un déploiement manuel et expliquer son contrôle simulé
- Chaîner
ci,buildetdeployavecneeds
À qui s’adresse ce cours
Ce cours intermédiaire s’adresse aux développeurs, utilisateurs Linux et apprenants DevOps connaissant Git qui souhaitent exécuter de vrais workflows GitHub Actions.
Prérequis : Compte GitHub, commits et pushes Git, shell Linux, indentation YAML, notions Node.js/npm et Docker. Les pushes HTTPS peuvent nécessiter un Personal Access Token.
Environnement d’apprentissage : Navigateur connecté à GitHub et terminal Linux pour un dépôt public d’exercice. Les workflows utilisent ubuntu-latest et publient une image dans GHCR.
Questions fréquentes
Les workflows s’exécutent-ils réellement sur GitHub ?
Oui. Vous créez votre dépôt, examinez les runs, créez un secret et publiez un paquet conteneur. Il ne s’agit pas seulement de validation YAML hors ligne.
Le cours déploie-t-il sur un vrai serveur ?
Non. Le job imprime des étapes SSH, pull et redémarrage simulées. Il ne joint aucun serveur, ne lance pas de conteneur distant et ne configure ni Environment ni approbation obligatoire.
Quelles pratiques de sécurité sont couvertes ?
Vous limitez les droits de GITHUB_TOKEN, référencez un secret et observez son masquage. Le laboratoire affiche volontairement un secret fictif pour la démonstration ; cela doit être évité en production.





