Date de la publication : mai 27, 2025

Lecture : 6 min

Premiers pas avec GitLab : comment tirer parti des variables CI/CD

Découvrez les variables CI/CD, leur rôle clé dans l'approche DevSecOps ainsi que les bonnes pratiques relatives à leur utilisation.

Bienvenue dans notre série « Premiers pas avec GitLab », conçue pour guider les nouveaux utilisateurs dans la prise en main de la plateforme DevSecOps de GitLab.

Après avoir exploré les bases de l'approche CI/CD de GitLab dans notre précédent article, concentrons-nous à présent sur les variables CI/CD afin de tirer pleinement parti de leur potentiel.

Qu’est-ce qu’une variable CI/CD ?

Les variables CI/CD sont des paires clé-valeur dynamiques que vous pouvez définir à différents niveaux (projet, groupe ou instance par exemple) au sein de votre environnement GitLab. Elles permettent de personnaliser les pipelines CI/CD, de centraliser les configurations et de gérer en toute sécurité des données sensibles. Intégrées directement dans le fichier .gitlab-ci.yml comme des espaces réservés pour les valeurs correspondantes, elles facilitent la maintenance, renforcent la sécurité et améliorent la flexibilité des workflows CI/CD.

Quel est le rôle des variables CI/CD ?

Les variables CI/CD offrent de nombreux avantages :

  • Flexibilité : adaptez facilement vos pipelines à différents environnements, configurations ou cibles de déploiement sans modifier votre script CI/CD principal.
  • Sécurité : stockez en toute sécurité des informations sensibles telles que des clés API, des mots de passe et des tokens sans les exposer dans votre code.
  • Maintenabilité : en centralisant les valeurs, elles simplifient la gestion et les mises à jour de votre configuration CI/CD pour qu'elle reste structurée correctement.
  • Réutilisation : définies une seule fois, elles peuvent être réutilisées dans plusieurs projets, ce qui favorise la cohérence et réduit les doublons.

Portées des variables CI/CD : projet, groupe et instance

GitLab permet de définir des variables CI/CD à différentes niveaux hiérarchiques du projet, avec un contrôle précis sur leur visibilité, leur portée et leur accessibilité :

  • Variables au niveau du projet : elles sont propres à un seul projet et idéales pour stocker des paramètres spécifiques, notamment :

    • L'URL de déploiement : définissez des URL distinctes pour les environnements de préproduction et de production.
    • Les identifiants de connexion à la base de données : stockez les données de connexion à la base de données afin de pouvoir les utiliser lors d'un test ou d'un déploiement.
    • Les feature flags : activez ou désactivez les fonctionnalités à différentes étapes de votre pipeline.
    • Exemple : dans le cadre de votre projet MyWebApp, vous souhaitez stocker l'URL de déploiement de production. Vous pouvez définir une variable au niveau du projet, nommée DPROD_DEPLOY_URL, avec la valeur https://mywebapp.com d'URL de production.
  • Variables au niveau du groupe : elles sont partagées par tous les projets d'un groupe GitLab. Elles sont utiles pour centraliser des paramètres communs à plusieurs projets, notamment :

    • Les clés API de services partagés : stockez-les pour des services tels qu'AWS, Google Cloud ou Docker Hub qui sont utilisés par plusieurs projets au sein du groupe.
    • Les paramètres de configuration généraux : définissez des paramètres de configuration communs qui s'appliquent à tous les projets du groupe.
    • Exemple : dans votre groupe Web Apps, vous souhaitez stocker une clé API pour Docker Hub. Vous pouvez définir une variable au niveau du groupe, nommée DOCKER_HUB_API_KEY, avec la valeur de clé API correspondante.
  • Variables au niveau de l'instance : elles sont disponibles pour tous les projets d'une instance GitLab et couramment utilisées pour les paramètres généraux qui s'appliquent à l'ensemble de l'entreprise, notamment :

    • Le token d'enregistrement de runner par défaut : fournissez un token par défaut pour l'enregistrement de nouveaux runners.
    • Les informations sur la licence : stockez les clés de licence des fonctionnalités GitLab ou des outils tiers.
    • Les paramètres d'environnement généraux : définissez des variables d'environnement qui doivent être disponibles pour tous les projets.
    • Exemple : vous souhaitez définir une image Docker par défaut pour tous les projets de votre instance GitLab. Vous pouvez définir une variable au niveau de l'instance, nommée DEFAULT_DOCKER_IMAGE, avec la valeur ubuntu:latest.

Comment définir des variables CI/CD ?

Pour définir une variable CI/CD, voici comment procéder :

  1. Cliquez sur les boutons Paramètres > CI/CD de votre projet, groupe ou instance.
  2. Accédez à la section Variables.
  3. Cliquez sur Ajouter une variable.
  4. Saisissez la clé (par exemple, API_KEY) et la valeur correspondante.
  5. Facultatif : cochez l'option Protéger la variable si elle contient des données sensibles afin de restreindre son utilisation aux pipelines qui s'exécutent sur des branches ou des tags protégés.
  6. Facultatif : cochez la case Masquer la variable pour masquer sa valeur dans les job logs, afin d'éviter toute exposition accidentelle.
  7. Cliquez sur Enregistrer la variable.

Comment utiliser des variables CI/CD ?

Pour utiliser une variable CI/CD dans votre fichier .gitlab-ci.yml, faites simplement précéder le nom de la variable du symbole $ :

deploy_job:
  script:
    - echo "Deploying to production..."
    - curl -H "Authorization: Bearer $API_KEY" https://api.example.com/deploy

Comment utiliser les variables CI/CD prédéfinies dans GitLab ?

GitLab met à disposition un ensemble de variables CI/CD prédéfinies que vous pouvez utiliser dans vos pipelines CI/CD. Celles-ci fournissent des informations contextuelles sur le pipeline, le job, le projet en cours, et bien plus encore.

Voici les variables plus couramment utilisées :

  • $CI_COMMIT_SHA : SHA de validation qui déclenche le pipeline
  • $CI_PROJECT_DIR : répertoire dans lequel le projet est cloné
  • $CI_PIPELINE_ID : ID du pipeline en cours
  • $CI_ENVIRONMENT_NAME : nom de l'environnement de déploiement cible (le cas échéant)

Bonnes pratiques pour l'utilisation des variables CI/CD

  • Gérez en toute sécurité les variables sensibles : utilisez des variables protégées et masquées pour stocker les clés API, les mots de passe et tout autre secret.
  • Évitez de coder en dur les valeurs : stockez les valeurs de configuration dans des variables afin de renforcer la flexibilité et la maintenance de vos pipelines.
  • Organisez vos variables : utilisez des noms explicites et regroupez les variables par usage pour faciliter leur gestion.
  • Choisissez la portée appropriée : définissez vos variables au niveau du projet, groupe ou instance en fonction de leur utilisation prévue et de leur visibilité.

Tirez parti de la puissance des variables CI/CD

Les variables CI/CD sont un outil puissant pour personnaliser et sécuriser vos pipelines GitLab. En maîtrisant leur fonctionnement et en comprenant leurs différentes portées, vous pouvez créer des workflows plus flexibles, plus faciles à maintenir et plus efficaces.

Prêt à passer à l’action ? Commencez à utiliser les variables CI/CD dès aujourd'hui et profitez d'un essai gratuit de 60 jours de GitLab Ultimate avec Duo Enterprise.

Articles de la série « Premiers pas avec GitLab »

Découvrez les autres articles de notre série « Premiers pas avec GitLab » :

Votre avis nous intéresse

Cet article de blog vous a plu ou vous avez des questions ou des commentaires ? Partagez vos réflexions en créant un nouveau sujet dans le forum de la communauté GitLab.

Plus de 50 % des entreprises du classement Fortune 100 font confiance à GitLab

Commencez à livrer des logiciels de meilleurs qualité plus rapidement

Découvrez comment la plateforme DevSecOps intelligente

peut aider votre équipe.