Appearance
内置任务
CNB 云原生构建提供了一系列内置任务,可在流水线中直接使用。
总览
内置任务按命名空间组织:
docker
- cache -- 构建 Docker 镜像缓存,加速依赖安装
cnb
- await-resolve -- 等待/通知机制,多流水线协作
- apply -- 触发同仓库下的子流水线
- trigger -- 触发指定仓库下的子流水线
- read-file -- 导出文件内容为环境变量
- destroy-token -- 销毁流水线 CNB_TOKEN
vscode
- go -- 控制云原生开发环境可用时机
git
- reviewer -- PR 自动添加评审人
- auto-merge -- PR 自动合并
- issue-update -- 更新 Issue 状态
- release -- 仓库发布 Release
- pr-commit-message-preset -- 预先设置 PR 的提交信息
- pr-update -- 更新 PR 的标题、标签
testing
- coverage -- 单测覆盖率上报
artifact
- remove-tag -- 删除 CNB 制品标签
tapd
- status-update -- 更新 TAPD 关联项状态
- comment -- 提交 TAPD 关联项评论
knowledge
- update -- 构建仓库的文档、Issue 等,并将其上传到知识库中
npc
- go -- 执行 NPC 任务
详细说明
docker:cache
构建 Docker 镜像缓存,避免重复下载依赖。
参数:
dockerfile:Dockerfile 路径by:声明缓存构建过程中依赖的文件列表versionBy:用于版本控制buildArgs:构建参数target:对应 docker build 的 --target 参数sync:是否等待 docker push 成功后才继续ignoreBuildArgsInVersion:版本计算是否忽略 buildArgs
cnb:await-resolve
等待/通知机制,用于多流水线协作。支持死锁检测。
参数:
key:等待/通知的标识data:传递的数据
cnb:apply
触发同仓库下的子流水线。
参数:
config:流水线配置configFrom:从文件读取配置event:触发事件sync:是否同步执行continueOnBuildError:构建失败时是否继续title:构建标题
配置优先级:config > configFrom > .cnb.yml
cnb:trigger
触发指定仓库下的子流水线(需要权限)。
参数:
token:访问令牌slug:仓库路径event:触发事件branch:分支名sha:commit hashenv:环境变量sync:是否同步执行continueOnBuildError:构建失败时是否继续title:构建标题
cnb:read-file
读取文件内容并导出为环境变量。支持 .json、.yml、.yaml、纯文本(key=value)格式。
参数:
filePath:文件路径
cnb:destroy-token
预销毁 CNB_TOKEN,降低滥用风险。无参数。
vscode:go
控制云原生开发环境何时可用。
适用事件: vscode, branch.create, api_trigger, web_trigger
git:auto-merge
自动合并 PR。
参数:
mergeType:合并类型(merge/squash/rebase/auto)mergeCommitMessage:合并提交信息mergeCommitFooter:合并提交 footerremoveSourceBranch:是否删除源分支ignoreAssignee:是否忽略指派人allowAssigneeApprovedMerge:是否允许指派人批准后合并
git:issue-update
更新 Issue 状态(关闭/打开)、标签、指派人。
参数:
fromText:从文本解析fromFile:从文件解析state:状态(open/close)label:标签assignee:指派人when:触发条件lint:链接defaultColor:默认颜色prefix:前缀
git:reviewer
为 PR 添加/移除评审人或指派人。
参数:
type:类型reviewers:评审人列表count:数量exclude:排除列表reviewersConfig:评审人配置role:角色skip_on_wip:WIP 时跳过
git:release
发布 Release。
参数:
overlying:叠加tag:标签title:标题description:描述descriptionFromFile:从文件读取描述preRelease:是否预发布latest:是否设为最新
git:pr-commit-message-preset
预设 PR 提交信息。
参数:
message:提交信息
git:pr-update
更新 PR 标签和标题。
参数:
fromText:从文本解析fromFile:从文件解析label:标签title:标题defaultColor:默认颜色
testing:coverage
上报单元测试覆盖率。支持 json, json-summary, lcov, jacoco, golang 格式。
参数:
key:标识name:名称pattern:文件匹配模式lines:行覆盖率diffLines:差异行覆盖率allowExts:允许的扩展名lang:语言breakIfNoCoverage:无覆盖率时是否中断
artifact:remove-tag
删除 CNB 制品标签(Docker 和 Helm)。
参数:
name:制品名tags:标签列表type:制品类型
tapd:status-update
更新 TAPD 工作项状态。
参数:
status:目标状态when:触发条件type:工作项类型fromText:从文本解析fromFile:从文件解析
tapd:comment
为 TAPD 工作项添加评论。
参数:
comment:评论内容when:触发条件type:工作项类型fromText:从文本解析fromFile:从文件解析
knowledge:update
构建仓库文档和 Issue 到知识库。
参数:
include:包含的文件(Glob 模式)exclude:排除的文件(Glob 模式)chunkSize:分块大小chunkOverlap:分块重叠大小embeddingModel:嵌入模型issueSyncEnabled:是否同步 IssueissueState:Issue 状态issueLabels:Issue 标签issueExcludeLabels:排除的 Issue 标签forceRebuild:是否强制重建ignoreProcessFailures:是否忽略处理失败
npc:go
在指定 Docker 镜像中执行 AI 任务。
参数:
role:角色systemPrompt:系统提示词userPrompt:用户提示词maxTurns:最大轮次