云原生构建

最近更新时间:2025-06-24 16:32:12

我的收藏
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-check
stages:
包括两个串行的任务,分别是 lint 和 test。
#分支名
main:
# 事件名
pull_request:
# 数组类型表示可以有多个流水线
- name: pr-check
# 流水线下的多个任务
stages:
# 要执行的任务
- name: lint
script: echo "lint job"
- name: test
script: echo "test job"
4. 当流水线任务失败时,需要发送通知。流水线下除 stages 表示期望执行的任务外,还有个 failStages 表示 stages 任务执行失败时要执行的任务。如下:
#分支名
main:
# 事件名
pull_request:
# 数组类型表示可以有多个流水线
- name: pr-check
# 流水线下的多个任务
stages:
- name: lint
script: echo "lint job"
- name: test
script: echo "test job"
# stages 失败时执行的任务
failStages:
- name: lint
script: echo "notify to some chat group"

查看流水线执行结果

在仓库页面单击云原生构建可以看到构建列表。最新一条即是刚刚触发的 push 事件流水线,下方有加载标识的记录是云原生开发对应的构建。

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


云原生构建语法

云原生构建详细语法,请参见 语法 说明。
配置文件更多用法,请参见 配置文件 说明。

进阶实践

如需编写出更符合自身需求的流水线配置,可以参见 实践示例 选择具体场景的仓库,fork 仓库或复制其中配置文件来使用。
自定义构建环境,请查阅 Docker 即环境
自定义构建插件,请查阅 Docker 即插件