云原生构建 内置了一些默认环境变量,只可读不可写,如果构建过程中尝试覆盖默认环境变量不会生效。
下文 合并类事件 包含以下六种:
pull_requestpull_request.updatepull_request.targetpull_request.approvedpull_request.changes_requestedpull_request.mergeablepull_request.mergedpull_request.comment了解更多触发事件。
[[TOC]]
true
true
当前 web 使用的协议,http | https
当前 web 使用的 HOST
当前 web 使用的地址,包含协议、HOST、路径(如有)
当前 API 地址,包含协议、HOST、路径(如有)
可与 CNB_TOKEN 配合在 CI 中调用 API 接口
仓库所属组织路径
仓库所属组织路径(小写格式)
值为触发构建的事件名称
事件类型参见事件
对于由 ==合并类事件== 触发的构建,值为该 PR 的链接
对于由 push、commit.add、branch.create、tag_push 触发的构建,值为最新 Commit 的链接
否则值为空字符串
对于由 push、commit.add、branch.create、branch.delete 触发的构建,值为当前的分支名
对于由 合并类事件 触发的构建,值为目标分支的分支名
对于由 tag_push 触发的构建,值为 tag 名
对于由 自定义事件 触发的构建,值为对应的分支名称
对于由 crontab 触发的构建,值为对应的分支名称
对于 branch.delete 触发的构建,为空字符串
其他情况为 CNB_BRANCH 最近一次提交的 sha
仓库默认分支
用户临时令牌对应的用户名,固定为 cnb
用户令牌,可用于代码提交、API 调用等
对于 pull_request 事件,权限有:
repo-code:rrepo-pr:rrepo-issue:rrepo-notes:rwrepo-contents:rrepo-registry:rrepo-commit-status:rwaccount-profile:r对于非 pull_request 事件,权限有:
repo-code:rwrepo-pr:rwrepo-issue:rwrepo-notes:rwrepo-contents:rwrepo-registry:rwrepo-commit-status:rwrepo-cnb-trigger:rwrepo-cnb-history:rrepo-cnb-detail:rrepo-basic-info:rrepo-manage:raccount-profile:rgroup-resource:r权限含义参考页面 个人设置 页面的 访问令牌
用户令牌,在 合并类事件 中由 AI 使用
权限有:
权限含义参考页面 个人设置 页面的 访问令牌
是否是定时任务事件
制品库 Docker 源地址
制品库 Helm 源地址
push、commit.add 触发的构建,值为分支推送前远端仓库该分支最近一次提交的 sha,若是新建分支,值为 0000000000000000000000000000000000000000branch.create 触发的构建,值为 0000000000000000000000000000000000000000构建时对应的代码 sha
push、commit.add、branch.create 触发的构建,是最后一次提交的 shatag_push、tag_deploy.* 触发的构建,是该 tag 最后一次提交的 shaauto_tag、branch.delete、issue.* 类事件,是主分支最后一次提交的 shapull_request.merged 触发的构建,是合并后的 shapull_request.target、pull_request.mergeable 触发的构建,是目标分支最后一次提交的 shapull_request、pull_request.approved、pull_request.changes_requested、pull_request.comment,代码尚未真正合并,取源分支最后一次提交的 sha,但构建时会进行预合并,即合并后的内容会作为最终结果云原生开发、自定义事件 触发的构建,是指定分支的最后一次提交的 shaCNB_COMMIT 的缩写,取其前 8 位字符
CNB_COMMIT 对应的提交信息
CNB_COMMIT_MESSAGE 的 title 部分,即首行
CNB_COMMIT 对应的提交者
CNB_COMMITTER 对应的邮箱
对于由 commit.add 触发的构建,值为新增的 Commits 的数量,最大为 99。
可结合 git log -n 查看新增的 Commits。
对于分支为 Tag 的构建,值为 ture
Tag message:对于分支为 Tag 的构建, 会有该环境变量Release 标题:对于分支为 Tag 的构建, 如果 Release 标题不为空,才会有值Release 描述:对于分支为 Tag 的构建, 且 Release 描述不为空,才会有值Tag 是否存在对应的 Release:对于分支为 Tag 的构建,如果 Tag 存在对应的 Release,则为 truefalseRelease,且 Release 为 预发布,则值为 true当前分支是否属于一个新创建的分支,默认为 false
当前分支是否属于一个新创建的分支,且带有新 commit,默认为 false
目标仓库路径,格式为 group_slug/repo_name,group_slug/sub_gourp_slog/.../repo_name
目标仓库路径小写格式
目标仓库名称
目标仓库名称小写格式
目标仓库的 id
目标仓库仓库 https 地址
当前构建的流水号,全局唯一
当前构建的日志地址
当前构建的开始时间,UTC 格式,示例 Tue, 24 Dec 2024 07:42:58 GMT
当前构建的触发者名称
当前构建的触发者 id
当前构建的 stage 名称
当前构建的 job 名称
当前构建的 job key,同 stage 下唯一
自定义 shell 脚本执行的工作空间根目录
流水线构建失败的错误信息,可在 failStages 中使用
流水线构建失败的 stage 的名称,可在 failStages 中使用
当前 pipeline 的 name,没声明时为空
当前 pipeline 的索引 key,例如 pipeline-0
当前 pipeline 的 id,全局唯一字符串
当前 pipeline 所使用的 docker image,如:alpine:latest
当前流水线的构建状态,可在 endStages 中查看,其可能的值包括:
success:表示流水线构建成功完成。error:表示流水线构建过程中发生了错误。cancel:表示流水线构建被取消。当前 pipeline 所在 Runner 的 ip
当前构建流水线可以使用的最大 CPU 核数
当前构建流水线可以使用的最大 内存 大小,单位为 GiB
当前构建是否由 rebuild 触发
兼容 ci 环境下 husky
pull_request、pull_request.update、pull_request.target 触发的构建,值为 truefalse合并类事件 触发的构建,值为 truefalse合并类事件 触发的构建,值为提出 PR 者名称合并类事件 触发的构建,值为提 PR 时候填写的标题合并类事件 触发的构建,值为发起 PR 的源分支名称合并类事件 触发的构建,值为当前 PR 源分支最新的提交 sha合并类事件 触发的构建,值为当前 PR 目标分支最新的提交 shapull_request.merged 事件触发的构建,值为当前 PR 合并后的 shapull_request、pull_request.update、pull_request.target、pull_request.mergeable、pull_request.comment 触发的构建,值为当前 PR 预合并后的 sha合并类事件 触发的构建,值为源仓库的仓库 slug,如 group_slug/repo_name,group_slug/sub_gourp_slog/.../repo_name对于由 合并类事件 触发的构建,可能的值有:
PR 变成可合并 否则值为空字符串合并类事件 触发的构建,值为当前或者关联 PR 的全局唯一 id合并类事件 触发的构建,值为当前或者关联 PR 在仓库中的编号 iid合并类事件 触发的构建,值为评审人列表,多个以 , 分隔对于由 合并类事件 触发的构建
approveunapprove合并类事件 触发的构建,值为同意评审的评审人列表,多个以 , 分隔合并类事件 触发的构建,值为最后一个同意评审的评审人远程开发地址,仅声明了 services : vscode 时存在
issue.* 触发的构建,值为 Issue 全局唯一 IDissue.* 触发的构建,值为 Issue 在仓库中的编号 iidissue.* 触发的构建,值为 Issue 的 titleissue.* 触发的构建,值为 Issue 的 descriptionissue.* 触发的构建,值为 Issue 作者用户名issue.* 触发的构建,值为 Issue 状态:open、closedissue.* 触发的构建,表示 Issue 是否被解决:true、falseID