CNB官方文档合集助手:cnb/docs · Cloud Native Build
参考链接:快速开始 | CNB 文档
简单说明:
仓库根目录创建一个名为 .cnb.yml 的文件,然后在该文件中配置各个阶段的处理逻辑。(例如: push、pull_request等事件触发相应的动作)
例如:
main:
push:
- stages:
- name: build knowledge base
image: cnbcool/knowledge-base
settings:
include: "**/**.md"
exclude: "README.md"
pull_request:
- stages:
- name: 代码评审
image: cnbcool/ai-review:latest
settings:
type: code-review
- name: 标题和描述的可读性检测
image: cnbcool/ai-review:latest
settings:
type: pr-info-readability-check
exports:
status: STATUS
- name: 标题和描述的可读性检测结果
script: |
case "${STATUS}" in
yes)
echo "✅ 标题和描述的可读性检测通过"
;;
no)
echo "⚠️ 标题和描述的可读性检测不通过"
exit 1
;;
esac
- name: 提交注释的可读性检测
image: cnbcool/ai-review:latest
settings:
type: commit-message-readability-check
exports:
status: STATUS
- name: 提交注释的可读性检测结果
script: |
case "${STATUS}" in
yes)
echo "✅ 提交注释的可读性检测通过"
;;
no)
echo "⚠️ 提交注释的可读性检测不通过"
exit 1
;;
esac
- name: 变更总结
image: cnbcool/ai-review:latest
settings:
type: diff-summary
exports:
summary: SUMMARY
- name: 输出变更总结
script: echo $SUMMARY
pull_request.mergeable:
- stages:
- name: CR 通过后自动合并
type: git:auto-merge
options:
mergeType: squash
removeSourceBranch: true
参考链接:自定义开发环境 | CNB 文档
简单说明:就是在.ide/目录下创建Dockerfile文件,里面写好构建内容;然后在.cnb.yml文件中配置开发环境使用.ide/文件夹下的Dockerfile构建开发环境。
例如:
# .cnb.yml
$:
vscode:
- docker:
build: .ide/Dockerfile
# 可选择是否同时定义 build 和 image
# 此时会优先使用 .ide/Dockerfile 构建镜像
# 如果 .ide/Dockerfile 构建失败,则使用 image 指定的镜像保证环境能启动成功
# image: cnbcool/default-dev-env:latest
services:
- vscode
- docker
# 开发环境启动后会执行的任务
stages:
- name: ls
script: ls -al
参考链接:Docker 制品库 | CNB 文档
简单说明:就是使用docker login命令先登录cnb的 docker 环境, 然后构建镜像并推动到cnb仓库的制品。(可以结合云原生开发和云原生构建使用,玩法多样)
例如:
样例一: 结合云原生构建使用
main:
push:
- services:
- docker
stages:
- name: docker build
script: docker build -t ${CNB_DOCKER_REGISTRY}/${CNB_REPO_SLUG_LOWERCASE}:latest .
- name: docker push
script: docker push ${CNB_DOCKER_REGISTRY}/${CNB_REPO_SLUG_LOWERCASE}:latest
样例二: 命令行使用
docker login docker.cnb.cool -u cnb -p ${CNB_TOKEN}
# 制品在发布到某一仓库时,支持两种命名规则
# 同名制品 - 制品路径与仓库路径一致,如:docker.cnb.cool/{repository-path}
# 非同名制品 - 仓库路径作为制品的命名空间,制品路径=仓库路径/制品名称,如:docker.cnb.cool/{repository-path}/{artifact-name}
# 同名制品
docker build -t docker.cnb.cool/{repository-path}:latest . # 构建本地镜像
docker push docker.cnb.cool/{repository-path}:latest # 推送到制品仓库
# 非同名制品
docker build -t docker.cnb.cool/{repository-path}/{image-name}:latest . # 构建本地镜像
docker push docker.cnb.cool/{repository-path}/{image-name}:latest # 推送到制品仓库
说明:{repository-path} 是仓库路径,包含了组织名称和仓库名称,如:mirxiong/study-cnb;当仓库路径错误时,会导致制品推送失败。
参考教程:
知识库样例:
简单说明:
就是在.cnb.yml文件中配置知识库的处理逻辑。配置完成之后,代码仓库右上角就会有一个知识库的按钮,点击后就会进入知识库界面。

main: #分支
push: #有提交时
- stages: #启动流水线
- name: build knowledge base #名字
image: cnbcool/knowledge-base #知识库插件
settings: #知识库设置
embedding_model: hunyuan #知识库使用的基础模型
include: "**/**.md" #知识库包含的文件类型