CI/CD

GitLab CI/CD

GitLab CI/CD est le moteur d'integration et de livraison continues integre nativement a GitLab. Le pipeline est decrit dans un fic…

GitLab CI/CD est le moteur d'integration et de livraison continues integre nativement a GitLab. Le pipeline est decrit dans un fichier .gitlab-ci.yml versionne, execute par des Runners (shell, Docker, Kubernetes). Il couvre tout le cycle DevSecOps : build, tests, SAST/DAST, conteneurisation, environnements dynamiques (review apps), deploiements multi-stages et Auto DevOps. Son integration registre/Container Registry, environnements et approbations en fait une plateforme de bout en bout, largement utilisee pour industrialiser des dizaines d'applications Spring Boot sur Kubernetes.

Cycle de livraison : Local → GitHub → CI/CD → Cloud

Local

GitHub

CI/CD

VPS

Articles approfondis

Resume des commandes essentielles

gitlab-runner registerEnregistrer un runner aupres d'un projet/groupe
gitlab-runner runLancer le runner en mode foreground
gitlab-runner verify --deleteVerifier et purger les runners obsoletes
gitlab-ci-localExecuter le pipeline localement avant push
stages: [build, test, deploy]Definir l'ordre des etapes
script: - mvn -B packageCommandes executees par un job
rules: - if: '$CI_COMMIT_BRANCH == "main"'Conditionner l'execution d'un job
artifacts: { paths: [target/*.jar], expire_in: 1 week }Conserver des artefacts
cache: { key: $CI_COMMIT_REF_SLUG, paths: [.m2/] }Cache de dependances
needs: [build]DAG : demarrer un job des qu'une dependance est prete
environment: { name: prod, url: https://app }Declarer un environnement deployable
include: { project: 'group/ci-templates', file: '/jobs.yml' }Reutiliser des templates CI
trigger: { project: 'group/downstream' }Pipeline multi-projets
CI_JOB_TOKEN / CI_REGISTRYVariables predefinies (auth registre)
GitLab CI/CD — role, commandes & 5 articles | Idriss Kriouile