Aller au contenu principal
DevOpsRéf. GHA-CIC

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

Indicateurs de résultats

Indicateurs publiés à partir de 3 avis.

Mode de calcul