Jenkins:按标签或参数过滤构建历史记录

问题描述 投票:0回答:3

是否可以过滤 Jenkins 中的构建历史记录,以便仅显示具有特定标签或参数的构建?

假设我有一些参数化的工作。其中一个参数是一个简单的字符串,可以是“实验”或“官方”。是否有任何插件可以让我过滤构建历史记录以仅显示“官方”构建?

jenkins continuous-integration jenkins-plugins
3个回答
10
投票

快速搜索构建(运行)+自定义运行描述

开箱即用的 Jenkins 支持对按标签(描述)匹配的构建历史记录进行快速搜索。您在标签中输入的任何内容都可以在搜索中使用:

...因此您可以使用任何可以更改构建标签的插件来添加您想要的信息,然后使用快速搜索。上面的示例使用了 Pipeline 插件和 Groovy postbuild 插件,但您可以使用任何您喜欢的东西;说描述设置器插件作业名称设置器插件

然后您可以将参数等内容注入到作业名称中。它很丑陋、烦人、而且冗长。并且没有方便的方法来保存罐装过滤器。但它有效。

此解决方法有许多缺陷:

  • 您无法保存过滤器
  • 您无法查看给定过滤器(参数、分支等)的构建趋势
  • 您无法仅查看过滤器的管道历史记录

这就是为什么很多人使用:

作业模板 - 创建重复作业

如果您想要预装过滤器和方便的保存视图,目前广泛使用的解决方法似乎是使用 Jenkins 作业生成器、作业模板插件等来生成许多类似的作业。使用单独的作业来管理单独的参数套件等。然后使用视图按照您想要的方式对作业进行分组。

写一个插件?

我还没有找到任何预先存在的插件可以做到这一点。您可以实现自己的项目,提供自定义作业显示和/或覆盖“构建历史记录”列表,但我还没有找到任何固定的项目。

构建历史记录 UI 元素是

BuildHistoryWidget
(
BuildHistoryWidget.java
)。它实现了
ExtensionPoint
,因此您可以使用
@Extension
覆盖它。您不需要给 Jenkins 打补丁。

Google 搜索

"extends HistoryWidget" -"class BuildHistoryWidget"
未能找到任何现有的实现。

扩展管道阶段视图插件

如果您使用 Pipeline(工作流)作业,您可能希望考虑扩展或修改 Pipeline Stage View Plugin 以满足您的需求。

看起来它的设计具有一定的可扩展性。请参阅pipeline-staged.hbs


2
投票

您可以通过此插件来完成https://wiki.jenkins-ci.org/display/JENKINS/View+Job+Filters

需要阅读的部分是“按作业参数化过滤”


-1
投票

这似乎没有按我预期的方式工作。我有一个名为 joba 的工作,它接受参数 param。如果我运行这个 joba 两次,一次使用 param=abc,一次使用 param=def。如果我使用基于 name=param value=abc 的过滤器创建视图,该视图将显示 joba,但它显示带有 param=def 的构建 #2,而我只想要那些具有 param=abc 的构建。

完全面对相同的...我是唯一检查正确答案的人吗?

© www.soinside.com 2019 - 2024. All rights reserved.