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".