GitLab CICD 常用变量

看啥都不如看官方文档
https://docs.gitlab.com/ee/ci/variables/predefined_variables.html

Variable GitLab Runner Description
CHAT_CHANNEL 10.6 all The Source chat channel that triggered the ChatOps command.
CHAT_INPUT 10.6 all The additional arguments passed with the ChatOps command.
CHAT_USER_ID 14.4 all The chat service’s user ID of the user who triggered the ChatOps command.
CI all 0.4 Available for all jobs executed in CI/CD. true when available.
CI_API_V4_URL 11.7 all The GitLab API v4 root URL.
CI_API_GRAPHQL_URL 15.11 all The GitLab API GraphQL root URL.
CI_BUILDS_DIR all 11.10 The top-level directory where builds are executed.
CI_COMMIT_AUTHOR 13.11 all The author of the commit in Name <email> format.
CI_COMMIT_BEFORE_SHA 11.2 all The previous latest commit present on a branch or tag. Is always 0000000000000000000000000000000000000000 in merge request pipelines and for the first commit in pipelines for branches or tags.
CI_COMMIT_BRANCH 12.6 0.5 The commit branch name. Available in branch pipelines, including pipelines for the default branch. Not available in merge request pipelines or tag pipelines.
CI_COMMIT_DESCRIPTION 10.8 all The description of the commit. If the title is shorter than 100 characters, the message without the first line.
CI_COMMIT_MESSAGE 10.8 all The full commit message.
CI_COMMIT_REF_NAME 9.0 all The branch or tag name for which project is built.
CI_COMMIT_REF_PROTECTED 11.11 all true if the job is running for a protected reference.
CI_COMMIT_REF_SLUG 9.0 all CI_COMMIT_REF_NAME in lowercase, shortened to 63 bytes, and with everything except 0-9 and a-z replaced with -. No leading / trailing -. Use in URLs, host names and domain names.
CI_COMMIT_SHA 9.0 all The commit revision the project is built for.
CI_COMMIT_SHORT_SHA 11.7 all The first eight characters of CI_COMMIT_SHA.
CI_COMMIT_TAG 9.0 0.5 The commit tag name. Available only in pipelines for tags.
CI_COMMIT_TAG_MESSAGE 15.5 all The commit tag message. Available only in pipelines for tags.
CI_COMMIT_TIMESTAMP 13.4 all The timestamp of the commit in the ISO 8601 format.
CI_COMMIT_TITLE 10.8 all The title of the commit. The full first line of the message.
CI_CONCURRENT_ID all 11.10 The unique ID of build execution in a single executor.
CI_CONCURRENT_PROJECT_ID all 11.10 The unique ID of build execution in a single executor and project.
CI_CONFIG_PATH 9.4 0.5 The path to the CI/CD configuration file. Defaults to .gitlab-ci.yml. Read-only inside a running pipeline.
CI_DEBUG_TRACE all 1.7 true if debug logging (tracing) is enabled.
CI_DEBUG_SERVICES 15.7 15.7 true if service container logging is enabled.
CI_DEFAULT_BRANCH 12.4 all The name of the project’s default branch.
CI_DEPENDENCY_PROXY_GROUP_IMAGE_PREFIX 13.7 all The top-level group image prefix for pulling images through the Dependency Proxy.
CI_DEPENDENCY_PROXY_DIRECT_GROUP_IMAGE_PREFIX 14.3 all The direct group image prefix for pulling images through the Dependency Proxy.
CI_DEPENDENCY_PROXY_PASSWORD 13.7 all The password to pull images through the Dependency Proxy.
CI_DEPENDENCY_PROXY_SERVER 13.7 all The server for logging in to the Dependency Proxy. This is equivalent to $CI_SERVER_HOST:$CI_SERVER_PORT.
CI_DEPENDENCY_PROXY_USER 13.7 all The username to pull images through the Dependency Proxy.
CI_DEPLOY_FREEZE 13.2 all Only available if the pipeline runs during a deploy freeze window. true when available.
CI_DEPLOY_PASSWORD 10.8 all The authentication password of the GitLab Deploy Token, if the project has one.
CI_DEPLOY_USER 10.8 all The authentication username of the GitLab Deploy Token, if the project has one.
CI_DISPOSABLE_ENVIRONMENT all 10.1 Only available if the job is executed in a disposable environment (something that is created only for this job and disposed of/destroyed after the execution - all executors except shell and ssh). truewhen available.
CI_ENVIRONMENT_NAME 8.15 all The name of the environment for this job. Available if environment:name is set.
CI_ENVIRONMENT_SLUG 8.15 all The simplified version of the environment name, suitable for inclusion in DNS, URLs, Kubernetes labels, and so on. Available if environment:name is set. The slug is truncated to 24 characters.
CI_ENVIRONMENT_URL 9.3 all The URL of the environment for this job. Available if environment:url is set.
CI_ENVIRONMENT_ACTION 13.11 all The action annotation specified for this job’s environment. Available if environment:action is set. Can be start, prepare, or stop.
CI_ENVIRONMENT_TIER 14.0 all The deployment tier of the environmentfor this job.
CI_RELEASE_DESCRIPTION 15.5 all The description of the release. Available only on pipelines for tags. Description length is limited to first 1024 characters.
CI_GITLAB_FIPS_MODE 14.10 all The configuration setting for whether FIPS mode is enabled in the GitLab instance.
CI_HAS_OPEN_REQUIREMENTS 13.1 all Only available if the pipeline’s project has an open requirement. true when available.
CI_JOB_ID 9.0 all The internal ID of the job, unique across all jobs in the GitLab instance.
CI_JOB_IMAGE 12.9 12.9 The name of the Docker image running the job.
CI_JOB_JWT (Deprecated) 12.10 all A RS256 JSON web token to authenticate with third party systems that support JWT authentication, for example HashiCorp’s Vault. Deprecated in GitLab 15.9 and scheduled to be removed in GitLab 16.5. Use ID tokensinstead.
CI_JOB_JWT_V1 (Deprecated) 14.6 all The same value as CI_JOB_JWT. Deprecated in GitLab 15.9 and scheduled to be removed in GitLab 16.5. Use ID tokens instead.
CI_JOB_JWT_V2 (Deprecated) 14.6 all A newly formatted RS256 JSON web token to increase compatibility. Similar to CI_JOB_JWT, except the issuer (iss) claim is changed from gitlab.com to https://gitlab.com, sub has changed from job_id to a string that contains the project path, and an aud claim is added. The aud field is a constant value. Trusting JWTs in multiple relying parties can lead to one RP sending a JWT to another one and acting maliciously as a job. Deprecated in GitLab 15.9 and scheduled to be removed in GitLab 16.5. Use ID tokens instead.
CI_JOB_MANUAL 8.12 all Only available if the job was started manually. true when available.
CI_JOB_NAME 9.0 0.5 The name of the job.
CI_JOB_NAME_SLUG 15.4 all CI_JOB_NAME_SLUG in lowercase, shortened to 63 bytes, and with everything except 0-9 and a-z replaced with -. No leading / trailing -. Use in paths.
CI_JOB_STAGE 9.0 0.5 The name of the job’s stage.
CI_JOB_STATUS all 13.5 The status of the job as each runner stage is executed. Use with after_script. Can be success, failed, or canceled.
CI_JOB_TIMEOUT 15.7 15.7 The job timeout value.
CI_JOB_TOKEN 9.0 1.2 A token to authenticate with certain API endpoints. The token is valid as long as the job is running.
CI_JOB_URL 11.1 0.5 The job details URL.
CI_JOB_STARTED_AT 13.10 all The UTC datetime when a job started, in ISO 8601 format.
CI_KUBERNETES_ACTIVE 13.0 all Only available if the pipeline has a Kubernetes cluster available for deployments. true when available.
CI_NODE_INDEX 11.5 all The index of the job in the job set. Only available if the job uses parallel.
CI_NODE_TOTAL 11.5 all The total number of instances of this job running in parallel. Set to 1 if the job does not use parallel.
CI_OPEN_MERGE_REQUESTS 13.8 all A comma-separated list of up to four merge requests that use the current branch and project as the merge request source. Only available in branch and merge request pipelines if the branch has an associated merge request. For example, gitlab-org/gitlab!333,gitlab-org/gitlab-foss!11.
CI_PAGES_DOMAIN 11.8 all The configured domain that hosts GitLab Pages.
CI_PAGES_URL 11.8 all The URL for a GitLab Pages site. Always a subdomain of CI_PAGES_DOMAIN.
CI_PIPELINE_ID 8.10 all The instance-level ID of the current pipeline. This ID is unique across all projects on the GitLab instance.
CI_PIPELINE_IID 11.0 all The project-level IID (internal ID) of the current pipeline. This ID is unique only within the current project.
CI_PIPELINE_SOURCE 10.0 all How the pipeline was triggered. Can be push, web, schedule, api, external, chat, webide, merge_request_event, external_pull_request_event, parent_pipeline, trigger, or pipeline. For a description of each value, see Common if clauses for rules, which uses this variable to control when jobs run.
CI_PIPELINE_TRIGGERED all all true if the job was triggered.
CI_PIPELINE_URL 11.1 0.5 The URL for the pipeline details.
CI_PIPELINE_CREATED_AT 13.10 all The UTC datetime when the pipeline was created, in ISO 8601 format.
CI_PROJECT_DIR all all The full path the repository is cloned to, and where the job runs from. If the GitLab Runner builds_dir parameter is set, this variable is set relative to the value of builds_dir. For more information, see the Advanced GitLab Runner configuration.
CI_PROJECT_ID all all The ID of the current project. This ID is unique across all projects on the GitLab instance.
CI_PROJECT_NAME 8.10 0.5 The name of the directory for the project. For example if the project URL is gitlab.example.com/group-name/project-1, CI_PROJECT_NAME is project-1.
CI_PROJECT_NAMESPACE 8.10 0.5 The project namespace (username or group name) of the job.
CI_PROJECT_NAMESPACE_ID 15.7 0.5 The project namespace ID of the job.
CI_PROJECT_PATH_SLUG 9.3 all $CI_PROJECT_PATH in lowercase with characters that are not a-z or 0-9replaced with - and shortened to 63 bytes. Use in URLs and domain names.
CI_PROJECT_PATH 8.10 0.5 The project namespace with the project name included.
CI_PROJECT_REPOSITORY_LANGUAGES 12.3 all A comma-separated, lowercase list of the languages used in the repository. For example ruby,javascript,html,css. The maximum number of languages is limited to 5. An issue proposes to increase the limit.
CI_PROJECT_ROOT_NAMESPACE 13.2 0.5 The root project namespace (username or group name) of the job. For example, if CI_PROJECT_NAMESPACE is root-group/child-group/grandchild-group, CI_PROJECT_ROOT_NAMESPACE is root-group.
CI_PROJECT_TITLE 12.4 all The human-readable project name as displayed in the GitLab web interface.
CI_PROJECT_DESCRIPTION 15.1 all The project description as displayed in the GitLab web interface.
CI_PROJECT_URL 8.10 0.5 The HTTP(S) address of the project.
CI_PROJECT_VISIBILITY 10.3 all The project visibility. Can be internal, private, or public.
CI_PROJECT_CLASSIFICATION_LABEL 14.2 all The project external authorization classification label.
CI_REGISTRY_IMAGE 8.10 0.5 The address of the project’s Container Registry. Only available if the Container Registry is enabled for the project.
CI_REGISTRY_PASSWORD 9.0 all The password to push containers to the project’s GitLab Container Registry. Only available if the Container Registry is enabled for the project. This password value is the same as the CI_JOB_TOKENand is valid only as long as the job is running. Use the CI_DEPLOY_PASSWORD for long-lived access to the registry
CI_REGISTRY_USER 9.0 all The username to push containers to the project’s GitLab Container Registry. Only available if the Container Registry is enabled for the project.
CI_REGISTRY 8.10 0.5 The address of the GitLab Container Registry. Only available if the Container Registry is enabled for the project. This variable includes a :port value if one is specified in the registry configuration.
CI_REPOSITORY_URL 9.0 all The URL to clone the Git repository.
CI_RUNNER_DESCRIPTION 8.10 0.5 The description of the runner.
CI_RUNNER_EXECUTABLE_ARCH all 10.6 The OS/architecture of the GitLab Runner executable. Might not be the same as the environment of the executor.
CI_RUNNER_ID 8.10 0.5 The unique ID of the runner being used.
CI_RUNNER_REVISION all 10.6 The revision of the runner running the job.
CI_RUNNER_SHORT_TOKEN all 12.3 The runner’s unique ID, used to authenticate new job requests. In GitLab 14.9 and later, the token contains a prefix, and the first 17 characters are used. Prior to 14.9, the first eight characters are used.
CI_RUNNER_TAGS 8.10 0.5 A comma-separated list of the runner tags.
CI_RUNNER_VERSION all 10.6 The version of the GitLab Runner running the job.
CI_SERVER_HOST 12.1 all The host of the GitLab instance URL, without protocol or port. For example gitlab.example.com.
CI_SERVER_NAME all all The name of CI/CD server that coordinates jobs.
CI_SERVER_PORT 12.8 all The port of the GitLab instance URL, without host or protocol. For example 8080.
CI_SERVER_PROTOCOL 12.8 all The protocol of the GitLab instance URL, without host or port. For example https.
CI_SERVER_SHELL_SSH_HOST 15.11 all The SSH host of the GitLab instance, used for access to Git repositories via SSH. For example gitlab.com.
CI_SERVER_SHELL_SSH_PORT 15.11 all The SSH port of the GitLab instance, used for access to Git repositories via SSH. For example 22.
CI_SERVER_REVISION all all GitLab revision that schedules jobs.
CI_SERVER_TLS_CA_FILE all all File containing the TLS CA certificate to verify the GitLab server when tls-ca-file set in runner settings.
CI_SERVER_TLS_CERT_FILE all all File containing the TLS certificate to verify the GitLab server when tls-cert-file set in runner settings.
CI_SERVER_TLS_KEY_FILE all all File containing the TLS key to verify the GitLab server when tls-key-file set in runner settings.
CI_SERVER_URL 12.7 all The base URL of the GitLab instance, including protocol and port. For example https://gitlab.example.com:8080.
CI_SERVER_VERSION_MAJOR 11.4 all The major version of the GitLab instance. For example, if the GitLab version is 13.6.1, the CI_SERVER_VERSION_MAJOR is 13.
CI_SERVER_VERSION_MINOR 11.4 all The minor version of the GitLab instance. For example, if the GitLab version is 13.6.1, the CI_SERVER_VERSION_MINOR is 6.
CI_SERVER_VERSION_PATCH 11.4 all The patch version of the GitLab instance. For example, if the GitLab version is 13.6.1, the CI_SERVER_VERSION_PATCH is 1.
CI_SERVER_VERSION all all The full version of the GitLab instance.
CI_SERVER all all Available for all jobs executed in CI/CD. yes when available.
CI_SHARED_ENVIRONMENT all 10.1 Only available if the job is executed in a shared environment (something that is persisted across CI/CD invocations, like the shell or ssh executor). true when available.
CI_TEMPLATE_REGISTRY_HOST 15.3 all The host of the registry used by CI/CD templates. Defaults to registry.gitlab.com.
GITLAB_CI all all Available for all jobs executed in CI/CD. true when available.
GITLAB_FEATURES 10.6 all The comma-separated list of licensed features available for the GitLab instance and license.
GITLAB_USER_EMAIL 8.12 all The email of the user who started the pipeline, unless the job is a manual job. In manual jobs, the value is the email of the user who started the job.
GITLAB_USER_ID 8.12 all The ID of the user who started the pipeline, unless the job is a manual job. In manual jobs, the value is the ID of the user who started the job.
GITLAB_USER_LOGIN 10.0 all The username of the user who started the pipeline, unless the job is a manual job. In manual jobs, the value is the username of the user who started the job.
GITLAB_USER_NAME 10.0 all The name of the user who started the pipeline, unless the job is a manual job. In manual jobs, the value is the name of the user who started the job.
KUBECONFIG 14.2 all The path to the kubeconfig file with contexts for every shared agent connection. Only available when a GitLab agent is authorized to access the project.
TRIGGER_PAYLOAD 13.9 all The webhook payload. Only available when a pipeline is triggered with a webhook.

Predefined variables for merge request pipelines

These variables are available when:

Variable GitLab Runner Description
CI_MERGE_REQUEST_APPROVED 14.1 all Approval status of the merge request. true when merge request approvals is available and the merge request has been approved.
CI_MERGE_REQUEST_ASSIGNEES 11.9 all Comma-separated list of usernames of assignees for the merge request.
CI_MERGE_REQUEST_ID 11.6 all The instance-level ID of the merge request. This is a unique ID across all projects on GitLab.
CI_MERGE_REQUEST_IID 11.6 all The project-level IID (internal ID) of the merge request. This ID is unique for the current project.
CI_MERGE_REQUEST_LABELS 11.9 all Comma-separated label names of the merge request.
CI_MERGE_REQUEST_MILESTONE 11.9 all The milestone title of the merge request.
CI_MERGE_REQUEST_PROJECT_ID 11.6 all The ID of the project of the merge request.
CI_MERGE_REQUEST_PROJECT_PATH 11.6 all The path of the project of the merge request. For example namespace/awesome-project.
CI_MERGE_REQUEST_PROJECT_URL 11.6 all The URL of the project of the merge request. For example, http://192.168.10.15:3000/namespace/awesome-project.
CI_MERGE_REQUEST_REF_PATH 11.6 all The ref path of the merge request. For example, refs/merge-requests/1/head.
CI_MERGE_REQUEST_SOURCE_BRANCH_NAME 11.6 all The source branch name of the merge request.
CI_MERGE_REQUEST_SOURCE_BRANCH_SHA 11.9 all The HEAD SHA of the source branch of the merge request. The variable is empty in merge request pipelines. The SHA is present only in merged results pipelines.
CI_MERGE_REQUEST_SOURCE_PROJECT_ID 11.6 all The ID of the source project of the merge request.
CI_MERGE_REQUEST_SOURCE_PROJECT_PATH 11.6 all The path of the source project of the merge request.
CI_MERGE_REQUEST_SOURCE_PROJECT_URL 11.6 all The URL of the source project of the merge request.
CI_MERGE_REQUEST_TARGET_BRANCH_NAME 11.6 all The target branch name of the merge request.
CI_MERGE_REQUEST_TARGET_BRANCH_PROTECTED 15.2 all The protection status for the target branch of the merge request.
CI_MERGE_REQUEST_TARGET_BRANCH_SHA 11.9 all The HEAD SHA of the target branch of the merge request. The variable is empty in merge request pipelines. The SHA is present only in merged results pipelines.
CI_MERGE_REQUEST_TITLE 11.9 all The title of the merge request.
CI_MERGE_REQUEST_EVENT_TYPE 12.3 all The event type of the merge request. Can be detached, merged_result or merge_train.
CI_MERGE_REQUEST_DIFF_ID 13.7 all The version of the merge request diff.
CI_MERGE_REQUEST_DIFF_BASE_SHA 13.7 all The base SHA of the merge request diff.

Predefined variables for external pull request pipelines

These variables are only available when:

Variable GitLab Runner Description
CI_EXTERNAL_PULL_REQUEST_IID 12.3 all Pull request ID from GitHub.
CI_EXTERNAL_PULL_REQUEST_SOURCE_REPOSITORY 13.3 all The source repository name of the pull request.
CI_EXTERNAL_PULL_REQUEST_TARGET_REPOSITORY 13.3 all The target repository name of the pull request.
CI_EXTERNAL_PULL_REQUEST_SOURCE_BRANCH_NAME 12.3 all The source branch name of the pull request.
CI_EXTERNAL_PULL_REQUEST_SOURCE_BRANCH_SHA 12.3 all The HEAD SHA of the source branch of the pull request.
CI_EXTERNAL_PULL_REQUEST_TARGET_BRANCH_NAME 12.3 all The target branch name of the pull request.
CI_EXTERNAL_PULL_REQUEST_TARGET_BRANCH_SHA 12.3 all The HEAD SHA of the target branch of the pull request
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 159,290评论 4 363
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,399评论 1 294
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 109,021评论 0 243
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 44,034评论 0 207
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,412评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,651评论 1 219
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,902评论 2 313
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,605评论 0 199
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,339评论 1 246
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,586评论 2 246
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,076评论 1 261
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,400评论 2 253
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,060评论 3 236
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,083评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,851评论 0 195
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,685评论 2 274
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,595评论 2 270

推荐阅读更多精彩内容