云原生构建

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 即插件。

赞 (0)
上一篇 4天前
下一篇 4天前