gitlab--基础--5.4--CICD--variables

本文详细介绍了GitLab CI/CD中的预定义变量,包括CI环境标识、分支信息、commit细节、Runner信息、项目URL和Container Registry等,并提供了自定义变量的示例。了解这些变量对于优化持续集成和持续部署流程至关重要。
摘要由CSDN通过智能技术生成

gitlab–基础–5.4–CICD–variables


1、variables的保留字

1.1、CI

标识该job是在CI环境中执行

1.2、CI_COMMIT_REF_NAME

用于构建项目的分支或tag 的名称

1.3、CI_COMMIT_REF_SLUG

  1. 先将$CI_COMMIT_REF_NAME的值转换成小写,最大不能超过63个字节,然后把除了0-9和a-z的其他字符转换成-。
  2. 在URLs和域名名称中使用。

1.4、CI_COMMIT_SHA

commit的版本号

1.5、CI_COMMIT_TAG

  1. commit的tag名称。
  2. 只有创建了tags才会出现。

1.6、CI_DEBUG_TRACE

debug tracing开启时才生效

1.7、CI_ENVIRONMENT_NAME

当前作业的部署环境名,当设置了environment:name 时可见

1.8、CI_ENVIRONMENT_SLUG

  1. 环境名称的简化版本
  2. 适用于DNS,URLs,Kubernetes labels等

1.9、CI_JOB_ID

GItLab CI内部调用job的一个唯一ID

1.10、CI_JOB_MANUAL

表示job启用的标识

1.11、CI_JOB_NAME

.gitlab-ci.yml中定义的job的名称

1.12、CI_JOB_STAGE

.gitlab-ci.yml中定义的stage的名称

1.13、CI_JOB_TOKEN

用于同GitLab容器仓库验证的token

1.14、CI_REPOSITORY_URL

git仓库地址,用于克隆

1.15、CI_RUNNER_DESCRIPTION

GitLab中存储的Runner描述

1.16、CI_RUNNER_ID

Runner所使用的唯一ID

1.17、CI_RUNNER_TAGS

逗号分割的runner标签列表

1.18、CI_PIPELINE_ID

GitLab CI 在内部使用的当前pipeline的唯一ID

1.19、CI_PIPELINE_TRIGGERED

当作业是使用trigger触发的时为true

1.20、CI_PROJECT_DIR

存放克隆项目的完整路径,作业运行的目录。

1.21、CI_PROJECT_ID

GitLab CI在内部使用的当前项目的唯一ID

1.22、CI_PROJECT_NAME

当前正在构建的项目名称(事实上是项目文件夹名称)

1.23、CI_PROJECT_NAMESPACE

当前正在构建的项目命名空间(用户名或者是组名称)

1.24、CI_PROJECT_PATH

命名空间加项目名称

1.25、CI_PROJECT_PATH_SLUG

  1. $CI_PROJECT_PATH小写字母、除了0-9和a-z的其他字母都替换成-。
  2. 用于地址和域名名称。

1.26、CI_PROJECT_URL

项目的访问地址(http形式)

1.27、CI_REGISTRY

如果启用了Container Registry,则返回GitLab的Container Registry的地址

1.28、CI_REGISTRY_IMAGE

如果为项目启用了Container Registry,它将返回与特定项目相关联的注册表的地址

1.29、CI_REGISTRY_PASSWORD

用于push containers到GitLab的Container Registry的密码

1.30、CI_REGISTRY_USER

用于push containers到GItLab的Container Registry的用户名

1.31、CI_SERVER

标记该job是在CI环境中执行

1.32、CI_SERVER_NAME

用于协调job的CI服务器名称

1.33、CI_SERVER_REVISION

用于调度job的GitLab修订版

1.34、CI_SERVER_VERSION

用于调度job的GItLab版本

1.35、ARTIFACT_DOWNLOAD_ATTEMPTS

尝试运行下载artifacts的job的次数

1.36、GET_SOURCES_ATTEMPTS

尝试运行获取源的job次数

1.37、GITLAB_CI

用于指示该job是在GItLab CI环境中运行

1.38、GITLAB_USER_ID

开启该job的用户ID

1.39、GITLAB_USER_EMAIL

开启该job的用户邮箱

1.40、RESTORE_CACHE_ATTEMPTS

尝试运行存储缓存的job的次数

1.41、CI_BUILDS_DIR

构建时的最顶层目录

1.42、CI_COMMIT_AUTHOR

提交的作者,格式为:名称<邮箱>

1.43、CI_COMMIT_BEFORE_SHA

当前分支的上一个提交哈希值

1.44、CI_COMMIT_BRANCH

提交的分支名,在合并流水线和tag流水线时不可见

1.45、CI_COMMIT_DESCRIPTION

提交的描述

1.46、CI_COMMIT_MESSAGE

完整的提交信息

1.47、CI_COMMIT_REF_PROTECTED

如果作业正在构建的是被保护的分支或tag,值为true

1.48、CI_COMMIT_SHORT_SHA

8个字符的提交哈希值

1.49、CI_COMMIT_TIMESTAMP

提交时的时间戳

1.50、CI_COMMIT_TITLE

提交的标题

1.51、CI_DEFAULT_BRANCH

项目的默认分支

1.52、CI_DEPLOY_FREEZE

当流水运行是处于部署冻结阶段时可见,值为true。

1.53、CI_ENVIRONMENT_URL

当前作业的部署环境地址,只有设置了environment:url可见

1.54、CI_JOB_IMAGE

当前作业使用的Docker镜像名

1.55、CI_PIPELINE_SOURCE

流水线触发方式,枚举值为push,web, schedule, api, external, chat, webide, merge_request_event, external_pull_request_event, parent_pipeline, trigger, 或者 pipeline

1.56、CI_PIPELINE_URL

流水线详情的地址

1.57、CI_PIPELINE_CREATED_AT

流水线创建时间

1.58、CI_PROJECT_TITLE

项目名称(网页上显示的)

1.59、GITLAB_USER_LOGIN

开始当前作业的登录用户名

1.60、GITLAB_USER_NAME

开始当前作业的用户名

1.61、CI_MERGE_REQUEST_APPROVED (仅合并流水线)

当合并流水线的MR被通过时值为true

1.62、CI_MERGE_REQUEST_ASSIGNEES (仅合并流水线)

逗号分割的合并请求指派人列表

1.63、CI_MERGE_REQUEST_SOURCE_BRANCH_NAME(仅合并流水线)

合并请求中的源分支名称

1.64、CI_MERGE_REQUEST_TARGET_BRANCH_NAME(仅合并流水线)

合并请求中的目标分支名称

1.65、CI_MERGE_REQUEST_TITLE(仅合并流水线)

合并请求的标题

1.66、CI_PROJECT_PATH

包含项目名称的命名空间

1.67、CI_PROJECT_TITLE

项目名称(网页上显示的)

1.68、CI_PROJECT_URL

项目HTTP(S)地址

1.69、CI_RUNNER_TAGS

逗号分割的runner标签列表

1.70、GITLAB_USER_EMAIL

开始当前作业的用户邮箱

1.71、GITLAB_USER_LOGIN

开始当前作业的登录用户名

1.72、GITLAB_USER_NAME

开始当前作业的用户名

1.73、CI_MERGE_REQUEST_APPROVED (仅合并流水线)

当合并流水线的MR被通过时值为true

1.74、CI_MERGE_REQUEST_ASSIGNEES (仅合并流水线)

逗号分割的合并请求指派人列表

1.75、CI_MERGE_REQUEST_SOURCE_BRANCH_NAME(仅合并流水线)

合并请求中的源分支名称

1.76、CI_MERGE_REQUEST_TARGET_BRANCH_NAME(仅合并流水线)

合并请求中的目标分支名称

1.77、CI_MERGE_REQUEST_TITLE(仅合并流水线)

合并请求的标题

1.78、GIT_CHECKOUT(是否下载git代码)

  1. 每次运行job 是否下载git代码。
  2. 默认值:true

1.78.1、案例

只在build-app阶段下载git代码,其他阶段 不下载代码。


# 定义变量
variables:
  # GIT_CHECKOUT 全局设置为 false,这样所有阶段都不下载git代码
  GIT_CHECKOUT: "false"


stages:
  - build-app
  - clean-cache
# 拷贝文件到指定目录
build-app:
  stage: build-app
  variables:
    # GIT_CHECKOUT  设置为 true,下载git代码
    GIT_CHECKOUT: "true"
  script:
    # 构建临时目录
    - ls

# 清空缓存
clean-cache:
  stage: clean-cache
  script:
    - ls
 

2、自定义variables

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值