Intégration et déploiement continus avec GitHub Actions

Intégration et déploiement continus est un cours de niveau intermédiaire de 5 leçons (environ 1 h 30), avec 17 exercices et 17 questions de quiz. Prérequis : Git et GitHub, Tests automatisés. Le cours demande un environnement de projet complet, prévu dans une phase ultérieure de la plateforme.

  • Cloud et DevOps
  • Intermédiaire
  • 5 leçons
  • 1 h 30
  • 17 exercices
  • Environnement de projet complet (phase 2)

Le cours en bref

Ce cours vous apprend à construire un pipeline d'intégration et de déploiement continus avec GitHub Actions. Vous écrirez des workflows qui testent sur plusieurs versions, contrôlent la qualité, transmettent des artefacts, puis déploient automatiquement vers des environnements protégés. Vous terminerez par la sécurité : secrets, permissions minimales, OIDC et épinglage des actions.

Ce que tu sauras faire

  • Écrire un workflow GitHub Actions avec déclencheurs, jobs dépendants et étapes
  • Rendre la CI obligatoire grâce aux protections de branche
  • Tester sur une matrice de versions avec cache, lint, couverture et base de données de service
  • Transmettre des artefacts et des sorties entre jobs et publier une release sur tag
  • Déployer automatiquement vers staging puis production avec approbation, verrou de concurrence, test de fumée et retour arrière
  • Sécuriser un pipeline : secrets d'environnement, permissions minimales, OIDC et actions épinglées

Programme des 5 leçons

    • Expliquer ce que sont l'intégration continue et le déploiement continu
    • Lire et écrire un workflow : déclencheurs, jobs, étapes, runners
    • Enchaîner des jobs avec needs et protéger la branche principale par des vérifications obligatoires

    Intégration continueWorkflow GitHub ActionsDéclencheursProtection de branche

  1. 02

    Tests et qualité dans la CI

    20 min
    • Tester sur plusieurs versions avec une matrice
    • Accélérer le pipeline grâce au cache des dépendances
    • Ajouter lint, couverture minimale et base de données de test dans le pipeline

    Matrice de versionsCache des dépendancesLint et couvertureConteneurs de service

  2. 03

    Artefacts, sorties de jobs et releases

    15 min
    • Transmettre des fichiers d'un job à l'autre avec les artefacts
    • Passer une valeur entre étapes et entre jobs avec les sorties
    • Publier une release à partir d'un tag de version

    ArtefactsSorties de jobsReleases

  3. 04

    Déploiement automatique et environnements

    20 min
    • Déployer automatiquement après la CI, uniquement depuis main
    • Protéger la production par un environnement avec approbation
    • Éviter les déploiements concurrents, vérifier après déploiement et savoir revenir en arrière

    Déploiement continuEnvironnements de déploiementConcurrence des déploiementsRetour arrière

  4. 05

    Secrets et sécurité du pipeline

    20 min
    • Gérer secrets et variables au bon niveau
    • Réduire les droits du jeton GITHUB_TOKEN
    • Se connecter au cloud sans clé longue durée et sécuriser la chaîne d'approvisionnement

    Secrets et variablesPermissions du jetonFédération OIDCSécurité de la chaîne CI

Projet final

Pipeline CI/CD complet pour une application web

Pour une application du parcours (API Node.js, Python ou PHP avec une base PostgreSQL), mettez en place un pipeline GitHub Actions complet : lint et tests sur une matrice de versions, tests d'intégration contre Postgres, build unique transmis en artefact, déploiement automatique en staging depuis main avec test de fumée, production soumise à approbation, workflow de retour arrière et release sur tag. Le pipeline respecte la liste de contrôle de sécurité du cours.

Livrables

  • Les fichiers .github/workflows/ci-cd.yml, release.yml et rollback.yml
  • La configuration des environnements staging et production (captures ou description des règles et des secrets attendus)
  • Une règle de protection de main exigeant les checks de CI
  • Un README décrivant le flux, les secrets et variables nécessaires et la procédure de retour arrière

Critères d'évaluation

  • Une pull request avec un test cassé ne peut pas être fusionnée
  • Le même artefact construit une fois est vérifié puis déployé
  • La production n'est déployée qu'après staging réussi, test de fumée vert et approbation
  • Deux déploiements ne peuvent pas s'exécuter simultanément et le retour arrière est démontré
  • Permissions minimales, secrets dans les environnements, aucune entrée utilisateur injectée dans run, actions tierces épinglées

Questions fréquentes

Faut-il connaître Docker pour suivre ce cours ?

Non. Le cours se concentre sur le pipeline lui-même. La construction et la publication d'images Docker sont traitées dans le cours Docker et déploiement, auquel les exemples renvoient.

Les notions sont-elles valables hors de GitHub ?

Oui. Déclencheurs, jobs, artefacts, environnements et secrets existent sous des noms proches dans GitLab CI, Azure Pipelines ou Jenkins. Seule la syntaxe change.

Quelle différence entre livraison continue et déploiement continu ?

En livraison continue, chaque version validée est prête à partir mais une personne déclenche la mise en production. En déploiement continu, elle part automatiquement. Un environnement avec approbation permet de passer de l'un à l'autre.

Ai-je besoin d'un compte cloud ?

Non pour l'essentiel : les exercices utilisent un dépôt GitHub et des déploiements simulés. La connexion OIDC à un fournisseur cloud est expliquée avec un exemple que vous pourrez appliquer à votre propre compte.

Ce cours, raconté pour ton métier

Dis ce que tu veux savoir faire : « Intégration et déploiement continus » prend sa place dans ton parcours, avec des exemples de ton secteur. Les notions restent celles du cours.

L'aperçu est gratuit, et les cours se suivent un par un sans payer. Le parcours ne contient que des leçons du catalogue.