Back to Gitlabhq

Référence des variables CI/CD prédéfinies

doc-locale/fr-fr/ci/variables/predefined_variables.md

19.3.039.1 KB
Original Source

{{< details >}}

  • Édition : Gratuite, GitLab Premium, GitLab Ultimate
  • Offre : GitLab.com, GitLab Self-Managed, GitLab Dedicated

{{< /details >}}

Les variables CI/CD prédéfinies sont disponibles dans chaque pipeline CI/CD GitLab.

Évitez de remplacer les variables prédéfinies, car cela peut entraîner un comportement inattendu du pipeline.

Disponibilité des variables {#variable-availability}

Les variables prédéfinies deviennent disponibles à trois phases différentes de l'exécution du pipeline :

  • Pré-pipeline : Les variables pré-pipeline sont disponibles avant la création du pipeline. Ces variables sont les seules qui peuvent être utilisées avec include:rules pour contrôler les fichiers de configuration à utiliser lors de la création du pipeline.
  • Pipeline : Les variables de pipeline deviennent disponibles lorsque GitLab crée le pipeline. En plus des variables pré-pipeline, les variables de pipeline peuvent être utilisées pour configurer les rules définies dans les jobs, afin de déterminer quels jobs ajouter au pipeline.
  • Job uniquement : Ces variables ne sont rendues disponibles à chaque job que lorsqu'un runner prend en charge le job et l'exécute, et :

Variables prédéfinies {#predefined-variables}

VariableDisponibilitéDescription
CHAT_CHANNELPipelineLe canal de chat source qui a déclenché la commande ChatOps.
CHAT_INPUTPipelineLes arguments supplémentaires transmis avec la commande ChatOps.
CHAT_USER_IDPipelineL'ID utilisateur du service de chat de l'utilisateur qui a déclenché la commande ChatOps.
CIPré-pipelineDisponible pour tous les jobs exécutés en CI/CD. true lorsque disponible.
CI_API_V4_URLPré-pipelineL'URL racine de l'API GitLab v4.
CI_API_GRAPHQL_URLPré-pipelineL'URL racine GraphQL de l'API GitLab.
CI_BUILD_NETWORK_NAMEJob uniquementLe nom du réseau créé par le job. Disponible uniquement avec l'exécuteur Docker lorsque FF_NETWORK_PER_BUILD est activé.
CI_BUILDS_DIRJob uniquementLe répertoire de niveau supérieur dans lequel les builds sont exécutés.
CI_COMMIT_AUTHORPré-pipelineL'auteur du commit au format Name <email>.
CI_COMMIT_BEFORE_SHAPré-pipelineLe commit le plus récent précédent présent sur une branche ou un tag. Vaut toujours 0000000000000000000000000000000000000000 pour les pipelines de merge request, les pipelines planifiés, le premier commit dans les pipelines pour les branches ou les tags, ou lors de l'exécution manuelle d'un pipeline.
CI_COMMIT_BRANCHPré-pipelineLe nom de la branche du commit. Disponible dans les pipelines de branche, y compris les pipelines pour la branche par défaut. Non disponible dans les pipelines de merge request ou les pipelines de tag.
CI_COMMIT_DEFAULT_BRANCH_BASE_SHAPré-pipelineLa base de fusion entre CI_COMMIT_SHA et la branche par défaut. Disponible uniquement dans les pipelines de branche non-défaut. Introduit dans GitLab 19.1.
CI_COMMIT_DESCRIPTIONPré-pipelineLa description du commit. Si le titre contient moins de 100 caractères, le message sans la première ligne.
CI_COMMIT_MESSAGEPré-pipelineLe message complet du commit.
CI_COMMIT_MESSAGE_IS_TRUNCATEDPré-pipelinetrue si CI_COMMIT_MESSAGE est tronqué à la taille spécifiée dans la variable d'environnement système GITLAB_CI_MAX_COMMIT_MESSAGE_SIZE_IN_BYTES (par défaut 100 Ko) parce que le message du commit est trop long. Sinon false. Introduit dans GitLab 18.6.
CI_COMMIT_REF_NAMEPré-pipelineLe nom de la branche ou du tag pour lequel le projet est construit.
CI_COMMIT_REF_PROTECTEDPré-pipelinetrue si le job s'exécute pour une référence protégée, false sinon.
CI_COMMIT_REF_SLUGPré-pipelineCI_COMMIT_REF_NAME en minuscules, raccourci à 63 octets, et avec tout ce qui n'est pas 0-9 et a-z remplacé par -. Pas de - en début / fin. À utiliser dans les URL, les noms d'hôte et les noms de domaine.
CI_COMMIT_SHAPré-pipelineLa révision du commit pour laquelle le projet est construit.
CI_COMMIT_SHORT_SHAPré-pipelineLes huit premiers caractères de CI_COMMIT_SHA.
CI_COMMIT_TAGPré-pipelineLe nom du tag du commit. Disponible uniquement dans les pipelines pour les tags.
CI_COMMIT_TAG_MESSAGEPré-pipelineLe message du tag du commit. Disponible uniquement dans les pipelines pour les tags.
CI_COMMIT_TIMESTAMPPré-pipelineL'horodatage du commit au format ISO 8601. Par exemple, 2022-01-31T16:47:55Z. UTC par défaut.
CI_COMMIT_TITLEPré-pipelineLe titre du commit. La première ligne complète du message.
CI_COMMIT_USER_LOGINPré-pipelineLe nom d'utilisateur GitLab de l'auteur du commit si le profil et l'e-mail de l'auteur sont publics et correspondent à l'e-mail du commit, sinon une chaîne vide. Introduit dans GitLab 18.10.
CI_CONCURRENT_IDJob uniquementL'ID unique de l'exécution de build dans un seul exécuteur.
CI_CONCURRENT_PROJECT_IDJob uniquementL'ID unique de l'exécution de build dans un seul exécuteur et projet.
CI_CONFIG_PATHPré-pipelineLe chemin vers le fichier de configuration CI/CD. Par défaut .gitlab-ci.yml.
CI_CONFIG_REF_URIPipelineLe chemin de référence complet vers la définition du pipeline de niveau supérieur, par exemple gitlab.example.com/my-group/my-project//.gitlab-ci.yml@refs/heads/main. Non disponible lorsque la référence source du pipeline ne peut pas être déterminée. Introduit dans GitLab 19.0.
CI_DEBUG_TRACEPipelinetrue si la journalisation de débogage (traçage) est activée.
CI_DEBUG_SERVICESPipelinetrue si la journalisation des conteneurs de service est activée.
CI_DEFAULT_BRANCHPré-pipelineLe nom de la branche par défaut du projet.
CI_DEFAULT_BRANCH_SLUGPré-pipelineCI_DEFAULT_BRANCH en minuscules, raccourci à 63 octets, et avec tout ce qui n'est pas 0-9 et a-z remplacé par -. Pas de - en début / fin. À utiliser dans les URL, les noms d'hôte et les noms de domaine.
CI_DEPENDENCY_PROXY_DIRECT_GROUP_IMAGE_PREFIXPré-pipelineLe préfixe d'image de groupe direct pour extraire des images via le proxy de dépendances.
CI_DEPENDENCY_PROXY_GROUP_IMAGE_PREFIXPré-pipelineLe préfixe d'image de groupe principal pour extraire des images via le proxy de dépendances.
CI_DEPENDENCY_PROXY_PASSWORDPipelineLe mot de passe pour extraire des images via le proxy de dépendances.
CI_DEPENDENCY_PROXY_SERVERPré-pipelineLe serveur pour se connecter au proxy de dépendances. Cette variable est équivalente à $CI_SERVER_HOST:$CI_SERVER_PORT.
CI_DEPENDENCY_PROXY_USERPipelineLe nom d'utilisateur pour extraire des images via le proxy de dépendances.
CI_DEPLOY_FREEZEPré-pipelineDisponible uniquement si le pipeline s'exécute pendant une fenêtre de gel du déploiement. true lorsque disponible.
CI_DEPLOY_PASSWORDJob uniquementLe mot de passe d'authentification du jeton de déploiement GitLab, si le projet en possède un.
CI_DEPLOY_USERJob uniquementLe nom d'utilisateur d'authentification du jeton de déploiement GitLab, si le projet en possède un.
CI_DISPOSABLE_ENVIRONMENTPipelineDisponible uniquement si le job est exécuté dans un environnement jetable (quelque chose qui est créé uniquement pour ce job et supprimé/détruit après l'exécution - tous les exécuteurs sauf shell et ssh). true lorsque disponible.
CI_ENVIRONMENT_IDPipelineL'ID de l'environnement pour ce job. Disponible si environment:name est défini.
CI_ENVIRONMENT_NAMEPipelineLe nom de l'environnement pour ce job. Disponible si environment:name est défini.
CI_ENVIRONMENT_SLUGPipelineLa version simplifiée du nom de l'environnement, adaptée à l'inclusion dans les DNS, les URL, les labels Kubernetes, etc. Disponible si environment:name est défini. Le slug est tronqué à 24 caractères. Un suffixe aléatoire est automatiquement ajouté aux noms d'environnement en majuscules.
CI_ENVIRONMENT_URLPipelineL'URL de l'environnement pour ce job. Disponible si environment:url est défini.
CI_ENVIRONMENT_ACTIONPipelineL'annotation d'action spécifiée pour l'environnement de ce job. Disponible si environment:action est défini. Peut être start, prepare ou stop.
CI_ENVIRONMENT_TIERPipelineLe niveau de déploiement de l'environnement pour ce job.
CI_GITLAB_FIPS_MODEPré-pipelineDisponible uniquement si le mode FIPS est activé dans l'instance GitLab. true lorsque disponible.
CI_HAS_OPEN_REQUIREMENTSPipelineDisponible uniquement si le projet du pipeline a une exigence ouverte. true lorsque disponible.
CI_JOB_GROUP_NAMEPipelineLe nom partagé d'un groupe de jobs, lors de l'utilisation de parallel ou de jobs groupés manuellement. Par exemple, si le nom du job est rspec:test: [ruby, ubuntu], le CI_JOB_GROUP_NAME est rspec:test. Il est identique à CI_JOB_NAME dans les autres cas. Introduit dans GitLab 17.10.
CI_JOB_IDJob uniquementL'ID interne du job, unique parmi tous les jobs de l'instance GitLab.
CI_JOB_IMAGEJob uniquementLe nom de l'image Docker exécutant le job. Disponible uniquement lorsque le job spécifie explicitement une image Docker.
CI_JOB_MANUALPipelineDisponible uniquement si le job a été démarré manuellement. true lorsque disponible.
CI_JOB_NAMEPipelineLe nom du job.
CI_JOB_NAME_SLUGPipelineCI_JOB_NAME en minuscules, raccourci à 63 octets, et avec tout ce qui n'est pas 0-9 et a-z remplacé par -. Pas de - en début / fin. À utiliser dans les chemins.
CI_JOB_STAGEPipelineLe nom de l'étape du job.
CI_JOB_STATUSJob uniquementLe statut du job à mesure que chaque étape du runner est exécutée. À utiliser avec after_script. Peut être success, failed ou canceled.
CI_JOB_TIMEOUTJob uniquementLe délai d'expiration du job, en secondes.
CI_JOB_TOKENJob uniquementUn token pour s'authentifier auprès de certains endpoints d'API. Le token est valide tant que le job est en cours d'exécution.
CI_JOB_URLJob uniquementL'URL des détails du job.
CI_JOB_STARTED_ATJob uniquementLa date et l'heure de démarrage d'un job, au format ISO 8601. Par exemple, 2022-01-31T16:47:55Z. UTC par défaut.
CI_JOB_STARTED_AT_SLUGJob uniquementCI_JOB_STARTED_AT en minuscules, raccourci à 63 octets, et avec tout ce qui n'est pas 0-9 et a-z remplacé par -. Pas de - en début / fin. Adapté à une utilisation dans les tags d'image Docker et d'autres identifiants. Introduit dans GitLab 18.7.
CI_KUBERNETES_ACTIVEPré-pipelineDisponible uniquement si le pipeline dispose d'un cluster Kubernetes disponible pour les déploiements. true lorsque disponible.
CI_NODE_INDEXPipelineL'index du job dans l'ensemble de jobs. Disponible uniquement si le job utilise parallel.
CI_NODE_TOTALPipelineLe nombre total d'instances de ce job s'exécutant en parallèle. Défini à 1 si le job n'utilise pas parallel.
CI_OPEN_MERGE_REQUESTSPré-pipelineUne liste séparée par des virgules de jusqu'à quatre merge requests qui utilisent la branche et le projet actuels comme source de la merge request. Disponible uniquement dans les pipelines de branche et de merge request si la branche a une merge request associée. Par exemple, gitlab-org/gitlab!333,gitlab-org/gitlab-foss!11.
CI_PAGES_DOMAINPré-pipelineLe domaine de l'instance qui héberge GitLab Pages, sans le sous-domaine de l'espace de nommage. Pour utiliser le nom d'hôte complet, utilisez plutôt CI_PAGES_HOSTNAME.
CI_PAGES_HOSTNAMEJob uniquementLe nom d'hôte complet du déploiement Pages.
CI_PAGES_URLJob uniquementL'URL d'un site GitLab Pages. Toujours un sous-domaine de CI_PAGES_DOMAIN. Dans GitLab 17.9 et versions ultérieures, la valeur inclut le path_prefix lorsqu'un est spécifié.
CI_PIPELINE_IDJob uniquementL'ID au niveau de l'instance du pipeline actuel. Cet ID est unique parmi tous les projets de l'instance GitLab.
CI_PIPELINE_IIDPipelineL'IID (ID interne) au niveau du projet du pipeline actuel. Cet ID est unique uniquement dans le projet actuel.
CI_PIPELINE_SOURCEPré-pipelineComment le pipeline a été déclenché. La valeur peut être l'une des sources de pipeline.
CI_PIPELINE_TRIGGEREDPipelinetrue pour les pipelines déclenchés avec un token de déclenchement. Pour les pipelines déclenchés avec le mot-clé trigger, utilisez plutôt CI_PIPELINE_SOURCE.
CI_PIPELINE_URLJob uniquementL'URL des détails du pipeline.
CI_PIPELINE_CREATED_ATJob uniquementLa date et l'heure de création du pipeline, au format ISO 8601. Par exemple, 2022-01-31T16:47:55Z. UTC par défaut.
CI_PIPELINE_NAMEPré-pipelineLe nom du pipeline défini dans workflow:name.
CI_PIPELINE_SCHEDULE_DESCRIPTIONPré-pipelineLa description de la planification de pipeline. Disponible uniquement dans les pipelines planifiés. Introduit dans GitLab 17.8.
CI_PROJECT_DIRJob uniquementLe chemin complet vers lequel le dépôt est cloné et à partir duquel le job s'exécute. Si le paramètre builds_dir de GitLab Runner est défini, cette variable est définie par rapport à la valeur de builds_dir. Pour plus d'informations, consultez la configuration avancée de GitLab Runner.
CI_PROJECT_IDPré-pipelineL'ID du projet actuel. Cet ID est unique parmi tous les projets de l'instance GitLab.
CI_PROJECT_NAMEPré-pipelineLe nom du répertoire du projet. Par exemple, si l'URL du projet est gitlab.example.com/group-name/project-1, CI_PROJECT_NAME est project-1.
CI_PROJECT_NAMESPACEPré-pipelineL'espace de nommage du projet (nom d'utilisateur ou nom de groupe) du job.
CI_PROJECT_NAMESPACE_IDPré-pipelineL'ID d'espace de nommage du projet du job.
CI_PROJECT_NAMESPACE_SLUGPré-pipeline$CI_PROJECT_NAMESPACE en minuscules, raccourci à 63 octets, et avec tout ce qui n'est pas 0-9 et a-z remplacé par -. Pas de - en début / fin.
CI_PROJECT_PATH_SLUGPré-pipeline$CI_PROJECT_PATH en minuscules, raccourci à 63 octets, et avec tout ce qui n'est pas 0-9 et a-z remplacé par -. Pas de - en début / fin. À utiliser dans les URL et les noms de domaine.
CI_PROJECT_PATHPré-pipelineL'espace de nommage du projet avec le nom du projet inclus.
CI_PROJECT_REPOSITORY_LANGUAGESPré-pipelineUne liste en minuscules séparée par des virgules des langages utilisés dans le dépôt. Par exemple ruby,javascript,html,css. Le nombre maximum de langages est limité à 5. Un ticket propose d'augmenter la limite.
CI_PROJECT_ROOT_NAMESPACEPré-pipelineL'espace de nommage du projet racine (nom d'utilisateur ou nom de groupe) du job. Par exemple, si CI_PROJECT_NAMESPACE est root-group/child-group/grandchild-group, CI_PROJECT_ROOT_NAMESPACE est root-group.
CI_PROJECT_ROOT_NAMESPACE_SLUGPré-pipeline$CI_PROJECT_ROOT_NAMESPACE en minuscules, raccourci à 63 octets, et avec tout ce qui n'est pas 0-9 et a-z remplacé par -. Pas de - en début / fin. Introduit dans GitLab 19.0.
CI_PROJECT_TITLEPré-pipelineLe nom du projet lisible par l'utilisateur tel qu'affiché dans l'interface web GitLab.
CI_PROJECT_DESCRIPTIONPré-pipelineLa description du projet telle qu'affichée dans l'interface web GitLab.
CI_PROJECT_TOPICSPré-pipelineUne liste en minuscules séparée par des virgules de sujets (limitée aux 20 premiers) attribués au projet. Introduit dans GitLab 18.3
CI_PROJECT_URLPré-pipelineL'adresse HTTP(S) du projet.
CI_PROJECT_VISIBILITYPré-pipelineLa visibilité du projet. Peut être internal, private ou public.
CI_PROJECT_CLASSIFICATION_LABELPré-pipelineLe label de classification d'autorisation externe du projet.
CI_REGISTRYPré-pipelineAdresse du serveur de registre de conteneurs, au format <host>[:<port>]. Par exemple : registry.gitlab.example.com. Disponible uniquement si le registre de conteneurs est activé pour l'instance GitLab.
CI_REGISTRY_IMAGEPré-pipelineAdresse de base du registre de conteneurs pour pousser, extraire ou tagger les images du projet, au format <host>[:<port>]/<project_full_path>. Par exemple : registry.gitlab.example.com/my_group/my_project. Les noms d'image doivent respecter la convention de nommage du registre de conteneurs. Disponible uniquement si le registre de conteneurs est activé pour le projet.
CI_REGISTRY_PASSWORDJob uniquementLe mot de passe pour pousser des conteneurs vers le registre de conteneurs du projet GitLab. Disponible uniquement si le registre de conteneurs est activé pour le projet. La valeur de ce mot de passe est identique à CI_JOB_TOKEN et n'est valide que pendant la durée d'exécution du job. Utilisez CI_DEPLOY_PASSWORD pour un accès durable au registre
CI_REGISTRY_USERJob uniquementLe nom d'utilisateur pour pousser des conteneurs vers le registre de conteneurs GitLab du projet. Disponible uniquement si le registre de conteneurs est activé pour le projet.
CI_RELEASE_DESCRIPTIONPipelineLa description de la release. Disponible uniquement dans les pipelines pour les tags. La longueur de la description est limitée aux 1024 premiers caractères.
CI_REPOSITORY_URLJob uniquementLe chemin complet pour cloner (HTTP) le dépôt avec un token de job CI/CD, au format https://gitlab-ci-token:[email protected]/my-group/my-project.git.
CI_RUNNER_DESCRIPTIONJob uniquementLa description du runner.
CI_RUNNER_EXECUTABLE_ARCHJob uniquementLe système d'exploitation/l'architecture de l'exécutable GitLab Runner. Peut ne pas être identique à l'environnement de l'exécuteur.
CI_RUNNER_IDJob uniquementL'ID unique du runner utilisé.
CI_RUNNER_REVISIONJob uniquementLa révision du runner exécutant le job.
CI_RUNNER_SHORT_TOKENJob uniquementL'ID unique du runner, utilisé pour authentifier les nouvelles demandes de job. Le token contient un préfixe et les 17 premiers caractères sont utilisés.
CI_RUNNER_TAGSJob uniquementUn tableau JSON des tags du runner. Par exemple ["tag_1", "tag_2"].
CI_RUNNER_VERSIONJob uniquementLa version de GitLab Runner exécutant le job.
CI_SERVER_FQDNPré-pipelineLe nom de domaine complet (FQDN) de l'instance. Par exemple gitlab.example.com:8080.
CI_SERVER_HOSTPré-pipelineL'hôte de l'URL de l'instance GitLab, sans protocole ni port. Par exemple gitlab.example.com.
CI_SERVER_NAMEPré-pipelineLe nom du serveur CI/CD qui coordonne les jobs.
CI_SERVER_PORTPré-pipelineLe port de l'URL de l'instance GitLab, sans hôte ni protocole. Par exemple 8080.
CI_SERVER_PROTOCOLPré-pipelineLe protocole de l'URL de l'instance GitLab, sans hôte ni port. Par exemple https.
CI_SERVER_SHELL_SSH_HOSTPré-pipelineL'hôte SSH de l'instance GitLab, utilisé pour accéder aux dépôts Git via SSH. Par exemple gitlab.com.
CI_SERVER_SHELL_SSH_PORTPré-pipelineLe port SSH de l'instance GitLab, utilisé pour accéder aux dépôts Git via SSH. Par exemple 22.
CI_SERVER_REVISIONPré-pipelineLa révision GitLab qui planifie les jobs.
CI_SERVER_TLS_CA_FILEPipelineFichier contenant le certificat CA TLS pour vérifier le serveur GitLab lorsque tls-ca-file est défini dans les paramètres du runner.
CI_SERVER_TLS_CERT_FILEPipelineFichier contenant le certificat TLS pour vérifier le serveur GitLab lorsque tls-cert-file est défini dans les paramètres du runner.
CI_SERVER_TLS_KEY_FILEPipelineFichier contenant la clé TLS pour vérifier le serveur GitLab lorsque tls-key-file est défini dans les paramètres du runner.
CI_SERVER_URLPré-pipelineL'URL de base de l'instance GitLab, incluant le protocole et le port. Par exemple https://gitlab.example.com:8080.
CI_SERVER_VERSION_MAJORPré-pipelineLa version majeure de l'instance GitLab. Par exemple, si la version de GitLab est 17.2.1, le CI_SERVER_VERSION_MAJOR est 17.
CI_SERVER_VERSION_MINORPré-pipelineLa version mineure de l'instance GitLab. Par exemple, si la version de GitLab est 17.2.1, le CI_SERVER_VERSION_MINOR est 2.
CI_SERVER_VERSION_PATCHPré-pipelineLa version de correctif de l'instance GitLab. Par exemple, si la version de GitLab est 17.2.1, le CI_SERVER_VERSION_PATCH est 1.
CI_SERVER_VERSIONPré-pipelineLa version complète de l'instance GitLab.
CI_SERVERJob uniquementDisponible pour tous les jobs exécutés en CI/CD. yes lorsque disponible.
CI_SHARED_ENVIRONMENTPipelineDisponible uniquement si le job est exécuté dans un environnement partagé (quelque chose qui persiste entre les invocations CI/CD, comme l'exécuteur shell ou ssh). true lorsque disponible.
CI_TEMPLATE_REGISTRY_HOSTPré-pipelineL'hôte du registre utilisé par les templates CI/CD. Par défaut registry.gitlab.com.
CI_TRIGGER_SHORT_TOKENJob uniquementLes 4 premiers caractères du token de déclenchement du job actuel. Disponible uniquement si le pipeline a été déclenché avec un token de déclenchement. Par exemple, pour un token de déclenchement glptt-1234567890abcdefghij, CI_TRIGGER_SHORT_TOKEN serait 1234. Introduit dans GitLab 17.0.
CI_UPSTREAM_JOB_IDPré-pipelineID du job de déclenchement upstream qui a déclenché le pipeline actuel dans un pipeline multi-projets ou parent-enfant. Introduit dans GitLab 18.9.
CI_UPSTREAM_PIPELINE_IDPré-pipelineID du pipeline upstream qui a déclenché le pipeline actuel dans un pipeline multi-projets ou parent-enfant. Introduit dans GitLab 18.9.
CI_UPSTREAM_PROJECT_IDPré-pipelineID du projet upstream qui a déclenché le pipeline actuel dans un pipeline multi-projets ou parent-enfant. Introduit dans GitLab 18.9.
GITLAB_CIPré-pipelineDisponible pour tous les jobs exécutés en CI/CD. true lorsque disponible.
GITLAB_FEATURESPré-pipelineLa liste séparée par des virgules des fonctionnalités sous licence disponibles pour l'instance GitLab et la licence.
GITLAB_USER_EMAILPipelineL'e-mail de l'utilisateur qui a démarré le pipeline, sauf si le job est un job manuel. Dans les jobs manuels, la valeur est l'e-mail de l'utilisateur qui a démarré le job.
GITLAB_USER_IDPipelineL'ID numérique de l'utilisateur qui a démarré le pipeline, sauf si le job est un job manuel. Dans les jobs manuels, la valeur est l'ID de l'utilisateur qui a démarré le job.
GITLAB_USER_LOGINPipelineLe nom d'utilisateur unique de l'utilisateur qui a démarré le pipeline, sauf si le job est un job manuel. Dans les jobs manuels, la valeur est le nom d'utilisateur de l'utilisateur qui a démarré le job.
GITLAB_USER_NAMEPipelineLe nom d'affichage (le Nom complet défini par l'utilisateur dans les paramètres du profil) de l'utilisateur qui a démarré le pipeline, sauf si le job est un job manuel. Dans les jobs manuels, la valeur est le nom de l'utilisateur qui a démarré le job.
KUBECONFIGPipelineLe chemin vers le fichier kubeconfig avec les contextes pour chaque connexion d'agent partagé. Disponible uniquement lorsqu'un agent GitLab pour Kubernetes est autorisé à accéder au projet.
TRIGGER_PAYLOADPipelineLa charge utile du webhook. Disponible uniquement lorsqu'un pipeline est déclenché avec un webhook.

Variables prédéfinies pour les pipelines de merge request {#predefined-variables-for-merge-request-pipelines}

Ces variables sont disponibles avant que GitLab crée le pipeline (pré-pipeline). Ces variables peuvent être utilisées avec include:rules et comme variables d'environnement dans les jobs.

Le pipeline doit être un pipeline de merge request et la merge request doit être ouverte.

VariableDescription
CI_MERGE_REQUEST_APPROVEDStatut d'approbation de la merge request. true lorsque les approbations de merge request sont disponibles et que la merge request a été approuvée.
CI_MERGE_REQUEST_ASSIGNEESListe séparée par des virgules des noms d'utilisateur des personnes assignées à la merge request. Disponible uniquement si la merge request a au moins une personne assignée.
CI_MERGE_REQUEST_DIFF_BASE_SHALe SHA de base du diff de la merge request.
CI_MERGE_REQUEST_DIFF_IDLa version du diff de la merge request.
CI_MERGE_REQUEST_EVENT_TYPELe type d'événement de la merge request. Peut être detached, merged_result ou merge_train.
CI_MERGE_REQUEST_DESCRIPTIONLa description de la merge request. Si la description dépasse 2700 caractères, seuls les 2700 premiers caractères sont stockés dans la variable.
CI_MERGE_REQUEST_DESCRIPTION_IS_TRUNCATEDtrue si CI_MERGE_REQUEST_DESCRIPTION est tronqué à 2700 caractères parce que la description de la merge request est trop longue, sinon false.
CI_MERGE_REQUEST_IDL'ID au niveau de l'instance de la merge request. L'ID est unique parmi tous les projets de l'instance GitLab.
CI_MERGE_REQUEST_IIDL'IID (ID interne) au niveau du projet de la merge request. Cet ID est unique pour le projet actuel et correspond au numéro utilisé dans l'URL, le titre de la page et d'autres emplacements visibles de la merge request.
CI_MERGE_REQUEST_LABELSNoms de label séparés par des virgules de la merge request. Disponible uniquement si la merge request a au moins un label.
CI_MERGE_REQUEST_MILESTONELe titre du jalon de la merge request. Disponible uniquement si un jalon est défini pour la merge request.
CI_MERGE_REQUEST_PROJECT_IDL'ID du projet de la merge request.
CI_MERGE_REQUEST_PROJECT_PATHLe chemin du projet de la merge request. Par exemple namespace/awesome-project.
CI_MERGE_REQUEST_PROJECT_URLL'URL du projet de la merge request. Par exemple, http://192.168.10.15:3000/namespace/awesome-project.
CI_MERGE_REQUEST_REF_PATHLe chemin de référence de la merge request. Par exemple, refs/merge-requests/1/head.
CI_MERGE_REQUEST_SOURCE_BRANCH_NAMELe nom de la branche source de la merge request.
CI_MERGE_REQUEST_SOURCE_BRANCH_PROTECTEDtrue lorsque la branche source de la merge request est protégée.
CI_MERGE_REQUEST_SOURCE_BRANCH_SHALe SHA HEAD de la branche source de la merge request. La variable est vide dans les pipelines de merge request. Le SHA est présent uniquement dans les pipelines de résultats fusionnés.
CI_MERGE_REQUEST_SOURCE_PROJECT_IDL'ID du projet source de la merge request.
CI_MERGE_REQUEST_SOURCE_PROJECT_PATHLe chemin du projet source de la merge request.
CI_MERGE_REQUEST_SOURCE_PROJECT_URLL'URL du projet source de la merge request.
CI_MERGE_REQUEST_SQUASH_ON_MERGEtrue lorsque l'option squash lors de la fusion est définie.
CI_MERGE_REQUEST_TARGET_BRANCH_NAMELe nom de la branche cible de la merge request.
CI_MERGE_REQUEST_TARGET_BRANCH_PROTECTEDtrue lorsque la branche cible de la merge request est protégée.
CI_MERGE_REQUEST_TARGET_BRANCH_SHALe SHA HEAD de la branche cible de la merge request. La variable est vide dans les pipelines de merge request. Le SHA est présent uniquement dans les pipelines de résultats fusionnés.
CI_MERGE_REQUEST_TITLELe titre de la merge request.
CI_MERGE_REQUEST_DRAFTtrue si la merge request est un brouillon. Introduit dans GitLab 17.10.

Variables prédéfinies pour les pipelines de pull request externes {#predefined-variables-for-external-pull-request-pipelines}

Ces variables sont disponibles uniquement lorsque :

VariableDescription
CI_EXTERNAL_PULL_REQUEST_IIDID de la pull request depuis GitHub.
CI_EXTERNAL_PULL_REQUEST_SOURCE_REPOSITORYLe nom du dépôt source de la pull request.
CI_EXTERNAL_PULL_REQUEST_TARGET_REPOSITORYLe nom du dépôt cible de la pull request.
CI_EXTERNAL_PULL_REQUEST_SOURCE_BRANCH_NAMELe nom de la branche source de la pull request.
CI_EXTERNAL_PULL_REQUEST_SOURCE_BRANCH_SHALe SHA HEAD de la branche source de la pull request.
CI_EXTERNAL_PULL_REQUEST_TARGET_BRANCH_NAMELe nom de la branche cible de la pull request.
CI_EXTERNAL_PULL_REQUEST_TARGET_BRANCH_SHALe SHA HEAD de la branche cible de la pull request.

Variables de déploiement {#deployment-variables}

Les intégrations responsables de la configuration du déploiement peuvent définir leurs propres variables prédéfinies définies dans l'environnement de build. Ces variables sont uniquement définies pour les jobs de déploiement.

Par exemple, l'intégration Kubernetes définit des variables de déploiement que vous pouvez utiliser avec l'intégration.

La documentation de chaque intégration indique si l'intégration dispose de variables de déploiement.

Variables Auto DevOps {#auto-devops-variables}

Lorsque Auto DevOps est activé, des variables pré-pipeline supplémentaires sont mises à disposition :

Variables d'intégration {#integration-variables}

Certaines intégrations rendent des variables disponibles dans les jobs. Ces variables sont disponibles en tant que variables prédéfinies réservées aux jobs :

  • Harbor :
    • HARBOR_URL
    • HARBOR_HOST
    • HARBOR_OCI
    • HARBOR_PROJECT
    • HARBOR_USERNAME
    • HARBOR_PASSWORD
  • Apple App Store Connect :
    • APP_STORE_CONNECT_API_KEY_ISSUER_ID
    • APP_STORE_CONNECT_API_KEY_KEY_ID
    • APP_STORE_CONNECT_API_KEY_KEY
    • APP_STORE_CONNECT_API_KEY_IS_KEY_CONTENT_BASE64
  • Google Play :
    • SUPPLY_PACKAGE_NAME
    • SUPPLY_JSON_KEY_DATA
  • Diffblue Cover :
    • DIFFBLUE_LICENSE_KEY
    • DIFFBLUE_ACCESS_TOKEN_NAME
    • DIFFBLUE_ACCESS_TOKEN

Dépannage {#troubleshooting}

Vous pouvez afficher les valeurs de toutes les variables disponibles pour un job avec une commande script.