Objectifs pédagogiques
Comprendre les principes fondamentaux de la CI/CD
Configurer un environnement GitLab CI/CD pour exécuter des pipelines adaptés aux besoins des projets
Automatiser les processus de build, test et déploiement
Concevoir des pipelines CI/CD optimisés et maintenables
Orchestrer la livraison continue de microservices
Déployer des applications sur des infrastructures cloud (AWS, Kubernetes)
A qui s’adresse cette formation ?
Public
Prérequis
Programme de formation
Introduction à la formation GitLab : prérequis et configuration de base
Présentation générale de cette formation GitLab CI/CD, approche et objectifs pédagogiques
Configuration des outils nécessaires à la formation
Introduction à la CI/CD et à GitLab CI/CD
Qu’est-ce que la CI/CD ?
Introduction à GitLab CI/CD : pourquoi l’utiliser ?
Comparaison entre GitLab CI/CD et les autres solutions du marché (Jenkins, GitHub Actions, etc.)
Concepts clés de GitLab CI/CD
Présentation des concepts de base
Les jobs : le cœur de la CI/CD
Exécution d’un pipeline complet
Les stages : grouper et organiser les jobs
Needs : gérer les dépendances entre jobs
Script : commandes shell et scripts d’exécution
Workflow Rules : gestion avancée du comportement des pipelines
Déclencher un pipeline via une merge request
Utiliser les variables prédéfinies de GitLab
Créer et utiliser des variables personnalisées
Architecture de GitLab CI/CD
Qu’est-ce qu’un GitLab Runner et son rôle ?
GitLab Executors : les différents types d’exécuteurs (Shell, Docker, etc.)
Le flow d’exécution des jobs dans un pipeline
Installation et enregistrement basique d’un runner local
Exemples d’ateliers pratiques
Docker local
Configuration avancée sur AWS EC2
Installation runner sur Windows/Mac
Runners spécifiques, group runners, etc
Construire un pipeline CI/CD réel
Exemple : sur une application Node.js
Exécuter des tests unitaires et collecter les rapports de tests
Build d’une image Docker et push dans une registry privée
Déploiement sur un serveur de développement
Introduction aux GitLab Environments (pour suivre où le code est déployé)
Déploiement avec Docker Compose
Optimiser le pipeline CI/CD & Multi-Stage Pipelines
Introduction à l’optimisation des pipelines
Configuration dynamique des versions pour les images Docker
Configurer un cache pour accélérer les exécutions de pipeline
Tests de sécurité (SAST) et vérification de la qualité du code
Introduction au déploiement multi-stage
Déploiement en staging
Réutilisation des configurations avec extends
Déploiement en production
Pipelines CI/CD pour des applications Microservices (monorepo & polyrepo)
Qu’est-ce qu’un microservice ?
Monorepo vs Polyrepo : quelle approche choisir ?
Démonstration : exemple concret de monorepo et polyrepo
Démarrer le service en local (Monorepo) et se familiariser avec l’application
Préparation au déploiement
Build des microservices
Déploiement des microservices
CI/CD pour une application en polyrepo
Extraction de la logique commune
Création d’une bibliothèque de templates CI/CD
Optionnel – Déployer des Microservices sur un cluster Kubernetes
Présentation des concepts Kubernetes pour GitLab CI/CD
Exemple d’intégration
Nettoyage des ressources et conclusion











































