You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Jenkins Build Pipeline任务能否生成带构建号的树状调用视图?

实现构建流水线的树状依赖视图与文本列表

当然可以实现!针对你提到的用「Trigger build on other projects」触发下游任务的构建流水线,有两种主要方式来生成包含子任务、执行顺序(串行/并行)及构建编号的树状视图/文本列表,下面给你详细拆解:

1. 原生插件可视化方案(开箱即用)

首推使用Build Pipeline Plugin——这个插件就是专门为可视化上下游构建依赖而生的,完美适配你说的场景:

  • 配置完成后,你可以直接在插件视图里选择顶层构建(比如vac-3.0-src #123),就能展开看到完整的触发树:
    • 串行触发的任务会按执行顺序依次排列在一条主线上
    • 并行触发的任务会以分支组的形式展示,一眼就能区分开并行批次
    • 每个任务节点都会清晰标注对应的构建编号(比如sub-project #45),点击节点还能直接跳转到该构建的详情页
  • 如果你用的是Jenkins Pipeline(声明式/脚本式),也可以用Pipeline Stage View Plugin,它能自动识别build步骤触发的上下游任务,生成类似的树状视图。

2. 自定义文本格式树状列表(按需导出)

如果需要生成纯文本格式的树状结构(比如你期望的文本样式),可以通过Groovy脚本在顶层构建的构建后操作里实现:

  • 编写一段Groovy脚本,调用Jenkins的内部API获取当前构建触发的所有下游任务:
    • 先通过构建的cause对象,筛选出由当前构建直接触发的子构建
    • 区分串行/并行:串行任务按触发时间排序,并行任务会带有相同的触发批次标记
    • 生成类似如下的文本结构:
      vac-3.0-src #123
      ├─ 串行触发:sub-build-a #45
      ├─ 并行组1:
      │  ├─ sub-build-b #67
      │  └─ sub-build-c #68
      └─ 串行触发:sub-build-d #70
      
    • 你可以把这段文本保存为构建产物(Artifact),或者直接输出到构建日志里,方便后续查看或导出。

3. 几个关键注意点

  • 确保所有上下游项目都开启了「允许被其他项目触发」的权限,不然插件和API无法获取到触发关系
  • 如果是并行触发任务,需要在「Trigger build on other projects」步骤里勾选「并行执行」选项,这样插件和脚本才能识别出并行批次
  • 历史构建的触发关系只要没被Jenkins的清理策略删除,都可以通过插件视图或脚本回溯查询

内容的提问来源于stack exchange,提问作者AKS

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.26 09:15:02