问题描述
在使用 Jenkins Pipeline 时,希望能够显示上游和下游关系。具体地,用户的流水线在结束时调用了 build()
方法来运行另一个流水线,但不等待其完成。即使下游流水线完成了,每个作业页面或构建页面上都没有上游/下游指示。用户想知道是否有什么技巧可以检索这种关系。同时,他想知道是否可以使用 Downstream Build View 插件来实现这一功能。
解决方案
基本情况
上游/下游关系仅适用于自由风格(Freestyle)作业,对于流水线(Pipeline)作业并不适用。这是因为上游/下游功能使用的内部(Java)自由风格作业 API 在流水线作业中并不存在,因此无法用于发现作业关系。同样,这意味着任何第三方的上游/下游相关插件(如 Downstream Build View 插件)在流水线作业中都无法工作。
可选插件
尽管原生的上游/下游关系在流水线作业中不可用,但有一些插件可以帮助实现类似的可视化效果。以下是一些可选插件:
Yet Another Build Visualizer 插件
Yet Another Build Visualizer 插件可以在流水线作业中显示上游和下游构建。它允许可视化 Jenkins 中上游和下游构建的流程。插件的功能包括:
- 显示上游和下游构建的构建流程。
- 在 Jenkins 中提供流水线作业的可视化效果。
你可以在 Yet Another Build Visualizer 插件页面 找到更多信息。
自定义插件
如果以上插件不符合你的需求,你还可以尝试编写自己的自定义插件来实现上游/下游关系的可视化。这需要一定的开发工作,但可以根据你的具体需求来实现定制化的解决方案。
你可以参考作者编写的 一个简单的自定义插件示例,这个示例插件提供了一个基本的可视化效果,用于展示流水线作业的上游/下游关系。请注意,这只是一个示例,可能需要根据你的情况进行修改和扩展。
总结
在 Jenkins Pipeline 中,原生的上游/下游关系功能不适用于流水线作业。然而,你可以尝试使用现有的插件如 Yet Another Build Visualizer 来实现类似的可视化效果,或者根据自己的需求开发自定义插件。自定义插件可能需要一定的开发工作,但可以实现更精确的定制化效果。