1556 字约 5 分钟
概述
基于 Pipeline as Code 的理念,流水线配置文件需要手动编写。当配置内容较为复杂,尤其是使用 include 引入模板时,开发者常常会面临以下疑问:语法是否正确?最终的流水线内容是否符合预期?流水线是否会按预期触发?
本文将以代码 Push 事件为例,从 编写 -> 预览 -> Flow -> 事件追踪 四个步骤,帮助您实现流水线配置的"所见即所得",确保流水线的高效管理和可靠运行。
编写
开始编写前,建议先配置代码编辑器的 语法检查和自动补全 功能,帮助快速发现语法错误并提供代码片段建议。
配置示例
以下是一个引用流水线模板文件的示例:
main:
push:
- stages:
- name: pipeline 1 stage 1
script: echo "pipeline 1 stage 1"
- name: pipeline 1 stage 2
script: echo "pipeline 1 stage 2"include:
# 此处引用当前仓库当前分支的文件,也可以引用其他仓库的文件
- template.yml
main:
push:
- stages:
- name: pipeline 2 stage 1
script: echo "pipeline 2 stage 1"
- name: pipeline 2 stage 2
script: echo "pipeline 2 stage 2"使用建议
- 使用
include复用流水线模板,减少重复配置,提高维护效率 - 支持引用其他仓库模板文件的网页地址
- 详细的
include语法请参考 include 配置
预览
编写完成后,将配置文件提交并推送到远端仓库,然后在仓库首页查看 .cnb.yml 文件并切换到 预览 选项卡。
预览效果
此时,您可以看到 template.yml 的内容已成功合并到 .cnb.yml 中:

功能特性
- 配置验证:确认最终配置是否符合预期
- 合并展示:展示
include引入模板与主配置的合并结果 - 问题排查:避免模板引用错误或配置冲突导致运行失败
- 语法检查:自动检测语法错误,运行前发现问题
Flow
在 .cnb.yml 文件页面点击 Flow 选项卡,直观查看当前分支下 push 事件触发的流水线配置。
可视化视图

视图说明
Flow 视图以流程图形式展示流水线结构,包括:
- 分支标识:显示触发流水线的目标分支
- 触发事件:显示当前查看的事件类型(如
push) - 流水线分组:事件下每条线代表一条独立的流水线
- 阶段展示:流水线内的各个阶段按执行顺序排列
功能价值
- 可视化展示:直观展示流水线结构和执行顺序
- 触发验证:验证流水线是否按预期触发
- 配置检查:排查配置问题,如遗漏步骤
- 依赖关系:清晰展示任务间的并行或串行关系
事件追踪
在 Git 事件触发后,通过 云原生构建列表 > 历史事件 查看流水线触发情况。
事件列表

列表中展示本次触发的两个 CI 事件:push 和 commit.add。
CI 事件信息说明:
- 事件类型:显示
push、commit.add、pull_request等 CI 事件类型 - 触发状态:已触发的事件显示为可点击状态
- 未触发说明:未触发的事件不可点击,鼠标悬停可查看原因
push 事件
点击 push 事件可跳转至构建详情页,查看流水线执行状态和日志。

详情页功能:
- 状态展示:提供流水线的实时执行状态,包括成功、失败或进行中
- 日志查看:查看详细的日志信息,帮助定位问题或验证执行结果
- 步骤追踪:查看每个阶段的执行情况和耗时
- 环境信息:显示构建环境、镜像、资源使用等信息
- 重试功能:支持全量或选择性重新执行流水线、任务
commit.add 事件
未触发的事件不可点击,鼠标悬停可查看未触发原因。

未触发原因:
- 分支下无
.cnb.yml,或.cnb.yml语法错误 - 事件触发的条件未满足,如事件不匹配
最佳实践
为了确保流水线的高效管理,建议遵循以下最佳实践:
1. 模块化配置
将通用的流水线步骤抽象为模板,通过 include 复用,减少重复配置,提高可维护性。
2. 定期检查
修改配置后使用预览和 Flow 验证正确性:
- 预览:确认
include合并结果 - Flow:验证流水线结构和任务流程
3. 事件监控
通过事件追踪功能实时监控流水线触发和执行:
- 查看
历史事件确认触发情况 - 鼠标悬停未触发事件查看原因
- 通过构建详情页跟踪执行进度
4. 日志分析
构建失败时根据日志分析原因:
- 查看失败阶段的详细日志
- 检查环境变量、依赖和脚本执行
- 根据错误信息调整配置并重新提交
5. 增量验证
复杂配置变更采用增量验证:
- 在测试分支验证配置
- 使用预览和 Flow 确认效果
- 测试通过后再合并到主分支
注意事项
- 权限检查:预览功能仅检查
include文件的访问权限,不验证allow_*属性。事件触发后,系统会检查allow_*属性确认访问权限。 - 事件范围:
历史事件仅展示push、tag_push、pull_request等代码相关仓库事件,不展示tag_deploy、web_deploy、API事件、定时任务等非代码相关事件。 - 重新构建:重新构建触发的流水线不会展示在
历史事件中。
通过以上步骤和最佳实践,您可以轻松实现流水线配置的编写、预览、流程查看和事件追踪,确保流水线按预期运行,提升开发效率和系统可靠性。