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

Variables, regles et configuration avancee

Variables CI/CD

Les variables permettent de parametrer les jobs sans coder en dur les valeurs.

# Variables dans .gitlab-ci.yml
variables:
  NODE_ENV: "production"
  APP_VERSION: "1.0.0"

build-job:
  stage: build
  script:
    - echo "Building version $APP_VERSION"
    - echo "Environment: $NODE_ENV"

Variables predefinies

# Quelques variables predefinies utiles :
$CI_COMMIT_SHA         # Hash du commit
$CI_COMMIT_BRANCH      # Nom de la branche
$CI_PIPELINE_ID        # ID du pipeline
$CI_PROJECT_NAME       # Nom du projet
$CI_MERGE_REQUEST_IID  # ID de la MR

Regles d'execution

# Executer seulement sur main
deploy-prod:
  stage: deploy
  script:
    - ./deploy.sh
  rules:
    - if: $CI_COMMIT_BRANCH == "main"

# Executer sur les MR uniquement
test-mr:
  stage: test
  script:
    - npm test
  rules:
    - if: $CI_MERGE_REQUEST_IID

# Executer manuellement
deploy-staging:
  stage: deploy
  script:
    - ./deploy-staging.sh
  when: manual
Securite : Ne mettez jamais de secrets dans .gitlab-ci.yml. Utilisez les variables CI/CD dans Settings > CI/CD > Variables avec l'option "Masked".