默认环境变量

云原生构建 内置了一些默认环境变量,只可读不可写,如果构建过程中尝试覆盖默认环境变量不会生效。

下文 合并类事件 包含以下六种:

了解更多触发事件

[[TOC]]

基础变量

CI

true

CNB

true

CNB_WEB_PROTOCOL

当前 web 使用的协议,http | https

CNB_WEB_HOST

当前 web 使用的 HOST

CNB_WEB_ENDPOINT

当前 web 使用的地址,包含协议、HOST、路径(如有)

CNB_API_ENDPOINT

当前 API 地址,包含协议、HOST、路径(如有)

可与 CNB_TOKEN 配合在 CI 中调用 API 接口

CNB_GROUP_SLUG

仓库所属组织路径

CNB_GROUP_SLUG_LOWERCASE

仓库所属组织路径(小写格式)

CNB_EVENT

值为触发构建的事件名称

事件类型参见事件

CNB_EVENT_URL

CNB_BRANCH

CNB_BRANCH_SHA

CNB_DEFAULT_BRANCH

仓库默认分支

CNB_TOKEN_USER_NAME

用户临时令牌对应的用户名,固定为 cnb

CNB_TOKEN

用户令牌,可用于代码提交、API 调用等

对于 pull_request 事件,权限有:

对于非 pull_request 事件,权限有:

权限含义参考页面 个人设置 页面的 访问令牌

CNB_TOKEN_FOR_AI

用户令牌,在 合并类事件 中由 AI 使用

权限有:

权限含义参考页面 个人设置 页面的 访问令牌

CNB_IS_CRONEVENT

是否是定时任务事件

CNB_DOCKER_REGISTRY

制品库 Docker 源地址

CNB_HELM_REGISTRY

制品库 Helm 源地址

提交类变量

CNB_BEFORE_SHA

CNB_COMMIT

构建时对应的代码 sha

CNB_COMMIT_SHORT

CNB_COMMIT 的缩写,取其前 8 位字符

CNB_COMMIT_MESSAGE

CNB_COMMIT 对应的提交信息

CNB_COMMIT_MESSAGE_TITLE

CNB_COMMIT_MESSAGEtitle 部分,即首行

CNB_COMMITTER

CNB_COMMIT 对应的提交者

CNB_COMMITTER_EMAIL

CNB_COMMITTER 对应的邮箱

CNB_NEW_COMMITS_COUNT

对于由 commit.add 触发的构建,值为新增的 Commits 的数量,最大为 99。

可结合 git log -n 查看新增的 Commits

CNB_IS_TAG

对于分支为 Tag 的构建,值为 ture

CNB_TAG_MESSAGE

CNB_TAG_RELEASE_TITLE

CNB_TAG_RELEASE_DESC

CNB_TAG_IS_RELEASE

CNB_TAG_IS_PRE_RELEASE

CNB_IS_NEW_BRANCH

当前分支是否属于一个新创建的分支,默认为 false

CNB_IS_NEW_BRANCH_WITH_UPDATE

当前分支是否属于一个新创建的分支,且带有新 commit,默认为 false

仓库类变量

CNB_REPO_SLUG

目标仓库路径,格式为 group_slug/repo_namegroup_slug/sub_gourp_slog/.../repo_name

CNB_REPO_SLUG_LOWERCASE

目标仓库路径小写格式

CNB_REPO_NAME

目标仓库名称

CNB_REPO_NAME_LOWERCASE

目标仓库名称小写格式

CNB_REPO_ID

目标仓库的 id

CNB_REPO_URL_HTTPS

目标仓库仓库 https 地址

构建类变量

CNB_BUILD_ID

当前构建的流水号,全局唯一

CNB_BUILD_WEB_URL

当前构建的日志地址

CNB_BUILD_START_TIME

当前构建的开始时间,UTC 格式,示例 Tue, 24 Dec 2024 07:42:58 GMT

CNB_BUILD_USER

当前构建的触发者名称

CNB_BUILD_USER_ID

当前构建的触发者 id

CNB_BUILD_STAGE_NAME

当前构建的 stage 名称

CNB_BUILD_JOB_NAME

当前构建的 job 名称

CNB_BUILD_JOB_KEY

当前构建的 job key,同 stage 下唯一

CNB_BUILD_WORKSPACE

自定义 shell 脚本执行的工作空间根目录

CNB_BUILD_FAILED_MSG

流水线构建失败的错误信息,可在 failStages 中使用

CNB_BUILD_FAILED_STAGE_NAME

流水线构建失败的 stage 的名称,可在 failStages 中使用

CNB_PIPELINE_NAME

当前 pipelinename,没声明时为空

CNB_PIPELINE_KEY

当前 pipeline 的索引 key,例如 pipeline-0

CNB_PIPELINE_ID

当前 pipelineid,全局唯一字符串

CNB_PIPELINE_DOCKER_IMAGE

当前 pipeline 所使用的 docker image,如:alpine:latest

CNB_PIPELINE_STATUS

当前流水线的构建状态,可在 endStages 中查看,其可能的值包括:

CNB_RUNNER_IP

当前 pipeline 所在 Runnerip

CNB_CPUS

当前构建流水线可以使用的最大 CPU 核数

CNB_MEMORY

当前构建流水线可以使用的最大 内存 大小,单位为 GiB

CNB_IS_RETRY

当前构建是否由 rebuild 触发

HUSKY_SKIP_INSTALL

兼容 ci 环境下 husky

合并类变量

CNB_PULL_REQUEST

CNB_PULL_REQUEST_LIKE

CNB_PULL_REQUEST_PROPOSER

CNB_PULL_REQUEST_TITLE

CNB_PULL_REQUEST_BRANCH

CNB_PULL_REQUEST_SHA

CNB_PULL_REQUEST_TARGET_SHA

CNB_PULL_REQUEST_MERGE_SHA

CNB_PULL_REQUEST_SLUG

CNB_PULL_REQUEST_ACTION

对于由 合并类事件 触发的构建,可能的值有:

CNB_PULL_REQUEST_ID

CNB_PULL_REQUEST_IID

CNB_PULL_REQUEST_REVIEWERS

CNB_PULL_REQUEST_REVIEW_STATE

对于由 合并类事件 触发的构建

CNB_REVIEW_REVIEWED_BY

CNB_REVIEW_LAST_REVIEWED_BY

远程开发类变量

CNB_VSCODE_WEB_URL

远程开发地址,仅声明了 services : vscode 时存在

Issue 类变量

CNB_ISSUE_ID

CNB_ISSUE_IID

CNB_ISSUE_TITLE

CNB_ISSUE_DESCRIPTION

CNB_ISSUE_OWNER

CNB_ISSUE_STATE

CNB_ISSUE_IS_RESOLVED

评论类变量

CNB_COMMENT_ID

CNB_COMMENT_BODY