CNB 流水线配置采用声明式代码管理方式,通过在代码仓库根目录下的
.cnb.yml
文件进行配置。进入目标仓库后,选择云原生构建,单击添加.cnb.yml 进入文件配置页面。

您可以自行编辑相关内容,也可以单击右上角的
来让 AI 生成配置文件示例。进入 AI 对话页面后,输入您的需求,即可快速生成配置文件。


典型场景案例
下文以流水线的一个场景作为示例,根据这些场景要素编写 CI 配置文件并查看执行结果。
场景
典型的流水线使用场景:
主干分支有
Pull Request
时,触发流水线进行 lint 和 test 检测,未通过则发出通知。分析这个需求,拆解构建流程的大致思路:
1. 监听的主干分支,比如
main
。2. 触发的仓库事件,即
pull_request
事件。3. 构建流程需要执行的 step :
lint
test
4. 边界条件 - 未通过则触发通知:
notify
编写流水线配置
1. 第一层属性为分支名:
#分支名main:
2. 分支下有
pull_request
事件时触发构建:#分支名main:# 事件名pull_request:
3. 事件可以执行多条流水线(并行),流水线有多个任务(串行或并行)。这里我们简化事件下只有一条流水线:
#分支名main:# 事件名pull_request:# 数组类型表示可以有多个流水线- name: pr-checkstages:
包括两个串行的任务,分别是 lint 和 test。
#分支名main:# 事件名pull_request:# 数组类型表示可以有多个流水线- name: pr-check# 流水线下的多个任务stages:# 要执行的任务- name: lintscript: echo "lint job"- name: testscript: echo "test job"
4. 当流水线任务失败时,需要发送通知。流水线下除
stages
表示期望执行的任务外,还有个 failStages
表示 stages
任务执行失败时要执行的任务。如下:#分支名main:# 事件名pull_request:# 数组类型表示可以有多个流水线- name: pr-check# 流水线下的多个任务stages:- name: lintscript: echo "lint job"- name: testscript: echo "test job"# stages 失败时执行的任务failStages:- name: lintscript: echo "notify to some chat group"
查看流水线执行结果
在仓库页面单击云原生构建可以看到构建列表。最新一条即是刚刚触发的 push 事件流水线,下方有加载标识的记录是云原生开发对应的构建。

单击 push 事件流水线名称进入可以看到构建详情。如下图:

云原生构建语法
进阶实践
自定义构建环境,请查阅 Docker 即环境。
自定义构建插件,请查阅 Docker 即插件。