GitHub Actions - Automatiser les pipelines CI/CD
GitHub Actions automatise vos chaînes de travail directement dans vos dépôts. Cette formation vous apprend à concevoir des pipelines CI/CD fiables, à créer des actions personnalisées et à sécuriser le déploiement continu.
Objectif de la formation
Immersion · Savoir faire en situation réelle
À l’issue de cette formation, les participants seront capables de :
- Concevoir des pipelines CI/CD modernes, robustes et sécurisés
- Automatiser l'exécution des tests unitaires et d'intégration à chaque commit
- Configurer des workflows réutilisables pour harmoniser les pratiques de l'équipe
- Gérer le cycle de vie des secrets et des variables d'environnement en toute sécurité
- Déployer automatiquement des applications conteneurisées vers différents environnements
- Réduire la durée d'exécution des pipelines grâce au cache et à la parallélisation
Choisissez votre format
Jusqu’où voulez-vous aller ?
Chaque format reprend le précédent et y ajoute des journées.
Programme détaillé
ACTION · 14 heures (2 jours)
Jour 1
MatinFondations de GitHub Actions et premiers workflows
Objectif : Maîtriser l'anatomie d'un workflow GitHub Actions et comprendre les mécaniques d'exécution.
- Introduction aux concepts fondamentaux : workflows, événements, jobs, runners, steps et actions.
- Structure et syntaxe d'un fichier YAML appliqué à GitHub Actions.
- Configuration et utilisation des événements déclencheurs (on : push, pull_request, workflow_dispatch).
- Découverte de la place de marché de GitHub (GitHub Marketplace) et intégration d'actions existantes.
- Compréhension des mécanismes d'exécution séquentielle et parallèle des jobs.
Atelier pratique : Manipulation et écriture d'une syntaxe YAML de base, paramétrage de l'arbre décisionnel d'exécution.
Cas métier : Configuration d'un premier pipeline qui automatise l'exécution de tests de non-régression à chaque ouverture de Pull Request pour un projet de développement.
Compétence acquise : Être capable de créer et paramétrer un fichier de workflow YAML standard et de l'associer aux bons événements Git.
Livrable : Un premier pipeline fonctionnel validant automatiquement les soumissions de code.
Après-midiVariables, secrets et contextes de sécurité
Objectif : Sécuriser les workflows et gérer dynamiquement les configurations.
- Exploration des contextes globaux d'exécution (github, env, steps, runner).
- Utilisation des variables d'environnement globales, par job et par step.
- Sécurisation des données sensibles grâce aux secrets d'organisation, de dépôts et d'environnements.
- Gestion du jeton temporaire d'authentification GITHUB_TOKEN et configuration de ses permissions.
- Audit de sécurité sur les flux d'exécution (détection de l'injection de scripts malveillants).
Atelier pratique : Audit de sécurité sur un workflow factice contenant des fuites de secrets et des permissions trop larges.
Cas métier : Configuration de la chaîne d'authentification pour un service de stockage externe via des credentials sécurisés et des variables environnementales selon les profils (Dev, Prod).
Compétence acquise : Savoir gérer la sécurité des accès au sein d'un pipeline CI/CD automatisé.
Livrable : Workflow sécurisé interdisant l'injection de secrets en clair dans les logs d'exécution.
Jour 2
MatinConcepts avancés et optimisation des performances
Objectif : Concevoir des pipelines industriels plus rapides et modulaires.
- Mise en œuvre d'une stratégie de build matriciel (matrix) pour tester simultanément sur plusieurs OS et versions.
- Configuration et gestion du cache (actions/cache) des gestionnaires de paquets (npm, pip, maven).
- Structuration de pipelines avancés avec des dépendances complexes (needs) et des exécutions conditionnelles (if).
- Modularisation des processus à l'aide de workflows réutilisables (workflow_call) et de workflows imbriqués.
Atelier pratique : Réorganisation d'un pipeline monolithique lourd en étapes logiques, modulaires et parallélisées.
Cas métier : Conception d'une matrice d'intégration continue testant simultanément une application sur 3 systèmes d'exploitation et 3 versions de langage de programmation différents.
Compétence acquise : Savoir factoriser du code de pipeline et optimiser les temps de build de plus de 50%.
Livrable : Pipeline modulaire optimisé à matrice d'exécution avec un temps de traitement record.
Après-midiDéploiement continu (CD) et gestion des artefacts
Objectif : Publier des applications et automatiser la livraison d'images de conteneurs.
- Manipulation des artifacts : archivage (upload-artifact) et récupération (download-artifact) entre jobs.
- Construction et envoi (push) d'une image Docker sur le registre sécurisé GitHub Container Registry (GHCR).
- Configuration des environnements GitHub de déploiement et des règles de validation d'approbation manuelle.
- Traçabilité des versions et gestion du versionnage sémantique (Semantic Versioning) assisté par étiquetage Git.
Atelier pratique : Simulation d'un processus de livraison d'un package applicatif avec contrôle et validation de signature.
Cas métier : Publication automatique d'une image de conteneur d'application d'entreprise vers un registre de conteneurs sécurisé, suivie de la notification de mise à disposition de la version.
Compétence acquise : Savoir orchestrer de bout en bout une démarche de livraison continue (CD) vers un registre ou environnement cible.
Livrable : Pipeline de CD complet publiant automatiquement une image Docker étiquetée à chaque fusion sur la branche principale.
Les ateliers et cas métier de ce programme pourront être adaptés par le consultant-formateur selon les besoins, le niveau et les prérequis des participants, pour favoriser l’atteinte des objectifs pédagogiques.
Cette formation dans le parcours
Vous êtes ici
Indicateurs de résultats
Indicateurs publiés à partir de 3 avis.
