是否可以过滤 Jenkins 中的构建历史记录,以便仅显示具有特定标签或参数的构建?
假设我有一些参数化的工作。其中一个参数是一个简单的字符串,可以是“实验”或“官方”。是否有任何插件可以让我过滤构建历史记录以仅显示“官方”构建?
开箱即用的 Jenkins 支持对按标签(描述)匹配的构建历史记录进行快速搜索。您在标签中输入的任何内容都可以在搜索中使用:
...因此您可以使用任何可以更改构建标签的插件来添加您想要的信息,然后使用快速搜索。上面的示例使用了 Pipeline 插件和 Groovy postbuild 插件,但您可以使用任何您喜欢的东西;说描述设置器插件或作业名称设置器插件。
然后您可以将参数等内容注入到作业名称中。它很丑陋、烦人、而且冗长。并且没有方便的方法来保存罐装过滤器。但它有效。
此解决方法有许多缺陷:
这就是为什么很多人使用:
如果您想要预装过滤器和方便的保存视图,目前广泛使用的解决方法似乎是使用 Jenkins 作业生成器、作业模板插件等来生成许多类似的作业。使用单独的作业来管理单独的参数套件等。然后使用视图按照您想要的方式对作业进行分组。
我还没有找到任何预先存在的插件可以做到这一点。您可以实现自己的项目,提供自定义作业显示和/或覆盖“构建历史记录”列表,但我还没有找到任何固定的项目。
BuildHistoryWidget
(BuildHistoryWidget.java
)。它实现了 ExtensionPoint
,因此您可以使用 @Extension
覆盖它。您不需要给 Jenkins 打补丁。
Google 搜索
"extends HistoryWidget" -"class BuildHistoryWidget"
未能找到任何现有的实现。
如果您使用 Pipeline(工作流)作业,您可能希望考虑扩展或修改 Pipeline Stage View Plugin 以满足您的需求。
看起来它的设计具有一定的可扩展性。请参阅pipeline-staged.hbs。
您可以通过此插件来完成https://wiki.jenkins-ci.org/display/JENKINS/View+Job+Filters
需要阅读的部分是“按作业参数化过滤”
这似乎没有按我预期的方式工作。我有一个名为 joba 的工作,它接受参数 param。如果我运行这个 joba 两次,一次使用 param=abc,一次使用 param=def。如果我使用基于 name=param value=abc 的过滤器创建视图,该视图将显示 joba,但它显示带有 param=def 的构建 #2,而我只想要那些具有 param=abc 的构建。
完全面对相同的...我是唯一检查正确答案的人吗?