GitLab - CI/CD Variables


Advertisements

The following table shows list of GitLab CI/CD variables.

S.No. Variable GitLab Runner Description
1 CI all 0.4 Specifies that job is accomplished in CI environment.
2 CI_COMMIT_REF_NAME 9.0 all Defines the branch or tag name for project build.
3 CI_COMMIT_REF_SLUG 9.0 all It uses the lowercased $CI_COMMIT_REF_NAME variable which is reduced to 63 bytes, and only 0-9 and a-z replaced with -.
4 CI_COMMIT_SHA 9.0 all Specifies the commit revision for built project.
5 CI_COMMIT_TAG 9.0 0.5 It commits the tag name
6 CI_CONFIG_PATH 9.4 0.5 Specifies the path to CI config file. (The default path is .gitlab-ci.yml).
7 CI_DEBUG_TRACE all 1.7 It enables the debug tracing.
8 CI_ENVIRONMENT_NAME 8.15 all Defines the environment name for the job.
9 CI_ENVIRONMENT_SLUG 8.15 all It is a environment name, suitable for DNS, URLs, Kubernetes labels, etc.
10 CI_ENVIRONMENT_URL 9.3 all Defines the environment URL for the job.
11 CI_JOB_ID 9.0 all Represents the unique id of the current job for GitLab CI.
12 CI_JOB_MANUAL 8.12 all It specifies that job has been started manually.
13 CI_JOB_NAME 9.0 0.5 The job name is defined in the .gitlab-ci.yml file.
14 CI_JOB_STAGE 9.0 0.5 The stage name is defined in the .gitlab-ci.yml file.
15 CI_JOB_TOKEN 9.0 1.2 This token is used for authenticating with the GitLab Container Registry and multi-project pipelines when triggers are involved.
16 CI_REPOSITORY_URL 9.0 all It specifies the URL to clone the Git repository.
17 CI_RUNNER_DESCRIPTION 8.10 0.5 It specifies the description for the runner.
18 CI_RUNNER_ID 8.10 0.5 It provides the unique id for runner being used.
19 CI_RUNNER_TAGS 8.10 0.5 It defines the runner tags.
20 CI_RUNNER_VERSION all 10.6 It specifies the GitLab runner version of the current job.
21 CI_RUNNER_REVISION all 10.6 It specifies the GitLab revision of the current job.
22 CI_PIPELINE_ID 8.10 0.5 It provides the unique id of the current pipeline.
23 CI_PIPELINE_SOURCE 9.3 all It specifies how the pipeline was triggered by using some options such as push, web, trigger, schedule, api, pipeline.
24 CI_PIPELINE_TRIGGERED all all It specifies that job was triggered.
25 CI_PIPELINE_SOURCE 10.0 all It specifies source of the pipeline such as push, web, trigger, schedule, api, external.
26 CI_PROJECT_DIR all all It defines the full path of the cloned repository, where the job is run.
27 CI_PROJECT_ID all all It provides the unique id of the current project.
28 CI_PROJECT_NAME 8.10 0.5 It provides the name of the current project.
29 CI_PROJECT_PATH 8.10 0.5 It provides the name of the project along with namespace.
30 CI_PROJECT_URL 8.10 0.5 It gives the http address to retrieve the project.
31 CI_PROJECT_VISIBILITY 10.3 all It specifies the project visibility whether it is internal, private or public.
32 CI_REGISTRY 8.10 0.5 It returns the address of GitLab's Container Registry, only if the Container Registry is enabled.
33 CI_REGISTRY_IMAGE 8.10 0.5 It returns the address of GitLab's Container Registry which is tied to specific project, only if the Container Registry is enabled.
34 CI_REGISTRY_PASSWORD 9.0 all The password can be used to push the containers to the GitLab Container Registry.
35 CI_REGISTRY_USER 9.0 all The username can be used to push the containers to the GitLab Container Registry.
36 CI_SERVER all all It specifies that job is executed in CI environment.
37 CI_SERVER_NAME all all It gives the CI server name to coordinate the jobs.
38 CI_SERVER_REVISION all all It is used to schedule the jobs by using GitLab revision.
39 CI_SERVER_VERSION all all It is used to schedule the jobs by using GitLab version.
40 CI_SHARED_ENVIRONMENT all 10.1 It indicates that job is executed in a shared environment and it is set to true, if the environment is shared.
41 ARTIFACT_DOWNLOAD_ATTEMPTS 8.15 1.9 It specifies the number of attempts to download artifacts running a job.
42 GET_SOURCES_ATTEMPTS 8.15 1.9 It specifies the number of attempts to get the sources running a job.
43 GITLAB_CI all all It specifies that job is accomplished in GitLab CI environment.
44 GITLAB_USER_ID 8.12 all It specifies the id of GitLab user who is running a job.
45 GITLAB_USER_EMAIL 8.12 all It specifies the email of GitLab user who is running a job.
46 GITLAB_USER_LOGIN 10.0 all It specifies the login username of GitLab user who is running a job.
47 GITLAB_USER_NAME 10.0 all It specifies the real name of GitLab user who is running a job.
48 GITLAB_FEATURES 10.6 all It provides list of the licensed features for the GitLab instance and plan.
49 RESTORE_CACHE_ATTEMPTS 8.15 1.9 It defines number of cache attempts to restore the running a job.
50 CI_DISPOSABLE_ENVIRONMENT all 10.1 It indicates that job is executed in a disposable environment and it is set to true, if the environment is disposable.

The following table shows list of new variables which can be used with GitLab 9.0 release −

S.No. 9.0+ name
1 CI_JOB_ID
2 CI_COMMIT_SHA
3 CI_COMMIT_TAG
4 CI_COMMIT_REF_NAME
5 CI_COMMIT_REF_SLUG
6 CI_JOB_NAME
7 CI_JOB_STAGE
8 CI_REPOSITORY_URL
9 CI_PIPELINE_TRIGGERED
10 CI_JOB_MANUAL
11 CI_JOB_TOKEN
Advertisements