CI/CD : les bases du pipeline 20 min de lecture

Le fichier .gitlab-ci.yml

Qu'est-ce que le CI/CD ?

  • CI (Continuous Integration) : tester et valider le code automatiquement a chaque push
  • CD (Continuous Delivery/Deployment) : deployer automatiquement en production

Le fichier .gitlab-ci.yml

GitLab CI/CD est configure par un fichier YAML a la racine du projet.

# .gitlab-ci.yml
stages:
  - build
  - test
  - deploy

build-job:
  stage: build
  script:
    - echo "Compilation du projet..."
    - npm install
    - npm run build
  artifacts:
    paths:
      - dist/

test-job:
  stage: test
  script:
    - echo "Execution des tests..."
    - npm test

deploy-job:
  stage: deploy
  script:
    - echo "Deploiement en cours..."
    - rsync -avz dist/ user@server:/var/www/
  only:
    - main

Concepts cles

  • Pipeline : ensemble de stages executes sequentiellement
  • Stage : groupe de jobs (build, test, deploy)
  • Job : tache individuelle executee par un runner
  • Runner : agent qui execute les jobs (partage ou dedie)
  • Artifacts : fichiers produits par un job et passes aux suivants

Les runners GitLab

# Types de runners :
# - Shared runners : fournis par GitLab.com (gratuit, limite)
# - Group runners : partages dans un groupe de projets
# - Project runners : dedies a un projet specifique

# Verifier les runners disponibles :
# Settings > CI/CD > Runners
Important : Le fichier .gitlab-ci.yml doit etre a la racine du depot et committe pour que le pipeline s'execute.