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.