Skip to main content

Git & GitLab

Git

Git est le VCS (Version Control System) décentralisé de référence dans toute démarche DevOps. Un repo Git contient les fichiers du projet et l'intégralité de leur historique de modifications, permettant la collaboration, le suivi des changements et les retours arrière. Sans dépôt Git, pas de CI/CD possible — il est la pierre angulaire de l'automatisation.

 

Commandes & concepts clés :

git clone — récupère un repo distant en local

git commit — enregistre un snapshot des modifications

git push / pull — synchronise le repo local avec le remote

Chaque commit sur le remote peut déclencher un pipeline automatiquement

 

GitLab : Plateforme DevOps intégrée

GitLab est une plateforme web de gestion de code source basée sur Git, utilisable en SaaS (gitlab.com) ou en self-hosted (OnPrem). Elle intègre nativement : gestion de dépôts, suivi de bugs, revue de code, CI/CD, et qualité de code

 

Pipeline GitLab CI (.gitlab-ci.yml)

Le fichier .gitlab-ci.yml, placé à la racine du repo, définit le pipeline. Il répond au format YAML et s'articule autour de trois notions :

Concept Rôle
Stage Étape du pipeline (build, test, deploy…)
Job Tâche exécutée dans un stage, avec un bloc script
Runner Agent (VM ou physique) qui exécute les jobs CESI-MICSI-2026-DEVOPS-DAY-1.pdf

Stages classiques d'un pipeline applicatif :

  • build : compilation, construction de l'artefact ou de l'image Docker
  • test : tests unitaires (pytest, JUnit…), analyse qualité (SonarQube)
  • deploy : déploiement sur container ou VM

 

Continuous delivery vs deployment

Continuous Delivery → déclenchement manuel de la mise en prod

Continuous Deployment → chaîne entièrement automatisée, graal DevOps nécessitant une grande maturité