SemaByte une Equipe d'experts en Data Science, IA, DevOps, MLOps, Developpement Web, Sécurité Informatique et Marketing Digital !

img
DevOps

Gitlab CI/CD Pipelines

Introduction

  • Objectif de la formation : Maîtriser les concepts fondamentaux du CI/CD et apprendre à créer et gérer un pipeline de CI/CD avec GitLab.
  • Public cible : Développeurs, ingénieurs DevOps, responsables techniques, et toute personne intéressée par l'automatisation du développement et du déploiement logiciel.
  • Prérequis : Connaissances de base en développement logiciel, utilisation de Git, et notions sur le déploiement d'applications.

Module 1 : Introduction aux Concepts de CI/CD

  1. Qu'est-ce que le CI/CD ?

    • Définition et objectifs de l'intégration continue (CI) et du déploiement continu (CD)
    • Les avantages du CI/CD : automatisation, rapidité, fiabilité
    • Les composants d'un pipeline CI/CD
  2. Présentation de GitLab CI/CD

    • Vue d'ensemble de GitLab CI/CD
    • Intégration de GitLab avec Git
    • Fonctionnalités CI/CD de GitLab : runners, jobs, stages

Module 2 : Mise en Place de GitLab CI/CD

  1. Création d'un dépôt GitLab

    • Créer un projet sur GitLab
    • Introduction à la structure d'un fichier .gitlab-ci.yml
  2. Configuration de GitLab Runner

    • Qu'est-ce qu'un runner GitLab ?
    • Installation et enregistrement d'un runner GitLab
    • Types de runners (partagés vs spécifiques au projet)

Module 3 : Comprendre le Fichier .gitlab-ci.yml

  1. Structure de base d'un fichier .gitlab-ci.yml

    • Définition des jobs, stages, scripts
    • Syntaxe YAML et spécificités GitLab
  2. Création d’un pipeline simple

    • Exemple de pipeline de base : build, test, et déploiement
    • Exécution d’un pipeline dans GitLab
  3. Les stages dans GitLab CI/CD

    • Stages : build, test, deploy
    • Organisation des stages et parallélisation des jobs

Module 4 : Automatisation des Tests et de la Qualité du Code

  1. Mise en place de tests automatisés

    • Intégration des tests unitaires dans le pipeline
    • Exécution des tests dans un environnement CI
  2. Vérification de la qualité du code

    • Outils d'analyse de code (linting, code coverage)
    • Génération de rapports de qualité avec GitLab CI/CD

Module 5 : Automatisation du Build et du Déploiement

  1. Automatisation du build

    • Compilation d’une application (Java, Node.js, etc.)
    • Gestion des artefacts : sauvegarde et partage
  2. Déploiement automatisé

    • Environnements de déploiement (dev, staging, production)
    • Déploiement continu sur des serveurs ou des containers (Docker, Kubernetes)
  3. Gestion des secrets et des variables d’environnement

    • Stockage sécurisé des clés API, des tokens, etc.
    • Utilisation des variables GitLab CI/CD

Module 6 : Gestion des Pipelines Complexes

  1. Stratégies avancées pour les pipelines

    • Pipelines multi-projets
    • Pipelines déclenchés manuellement
    • Déclencheurs et dépendances entre pipelines
  2. Pipeline en mode "fail fast"

    • Optimisation des temps d’exécution
    • Gestion des échecs de jobs
  3. Monitoring et Debugging

    • Suivi de l’état des pipelines et des jobs
    • Debugging des échecs de pipeline

Module 7 : Mise en Pratique - Cas d'Usage Concret

  1. Atelier : Mise en place d'un pipeline complet

    • Création d'un pipeline CI/CD pour une application web simple
    • Exécution et optimisation du pipeline
  2. Scénarios de déploiement avancé

    • Déploiement sur Kubernetes avec Helm
    • Blue-Green Deployment et Rolling Updates

Module 8 : Optimisation et Sécurisation des Pipelines

  1. Optimisation des pipelines

    • Cache GitLab : comment accélérer l’exécution des jobs
    • Artefacts partagés : réutilisation des résultats de jobs précédents
  2. Sécurité dans GitLab CI/CD

    • Meilleures pratiques pour sécuriser vos pipelines
    • Vérification de la sécurité des dépendances

Conclusion et Résumé

  1. Récapitulatif des points clés

    • Revue des concepts et des pratiques abordées
    • Réponses aux questions courantes
  2. Prochaines étapes et ressources

    • Documentation GitLab CI/CD
    • Projets personnels et applications réelles

Examen Final et Certification

  • Examen pratique : Mise en œuvre d’un pipeline CI/CD complet dans un projet GitLab.
  • Certification : Attestation de compétence en CI/CD avec GitLab pour les participants ayant réussi l'examen.

Durée de la formation : 2 à 3 jours (selon le niveau des participants et les ateliers pratiques).

Matériel requis :

  • Ordinateur avec accès à GitLab (cloud ou self-hosted)
  • Accès à un terminal pour installer GitLab Runner et gérer les pipelines

Ce plan permet aux participants de progresser de manière structurée, en partant des concepts fondamentaux jusqu'à la mise en œuvre d'un pipeline complet, avec des ateliers pratiques pour consolider leurs connaissances.

Informations Formation

  • Categorie DevOps
  • Durée 1 mois