Jenkins:按标签或参数过滤构建历史
Jenkins: Filter build history by label or parameter
是否可以在 Jenkins 中过滤构建历史,以便仅显示具有特定标签或参数的构建?
假设我有一些参数化的工作。其中一个参数是一个简单的字符串,可以是 "experimental" 或 "official"。是否有任何插件可以让我过滤构建历史以仅显示 "official" 构建?
你可以通过这个插件来完成https://wiki.jenkins-ci.org/display/JENKINS/View+Job+Filters
需要阅读的部分是"Filter by Job Parameterization"
快速搜索构建(运行s)+ 自定义 运行 描述
开箱即用的 Jenkins 支持通过标签(描述)匹配的构建历史的快速搜索。您在标签中输入的任何内容都可以用于搜索:
...所以你可以使用任何可以更改构建标签的插件来添加你想要的信息,然后使用快速搜索。上面的示例使用了带 Groovy postbuild plugin, but you could use anything you feel like; say the description setter plugin or job name setter plugin 的 Pipeline 插件。
然后您可以将参数之类的东西注入到作业名称中。它丑陋、烦人且冗长。并且没有方便的方法来保存罐装过滤器。但它有效。
此解决方法有许多不足之处:
- 您无法保存过滤器
- 您无法查看给定过滤器(参数、分支等)的构建趋势
- 您不能只查看过滤器的管道历史记录
这就是为什么很多人使用:
作业模板 - 创建重复作业
如果您想要固定过滤器和方便的保存视图,目前广泛使用的解决方法似乎是使用 Jenkins Job Builder、作业模板插件等来生成许多类似的作业。使用单独的作业来管理单独的参数套件等。然后使用视图根据需要对作业进行分组。
写一个插件?
我还没有找到任何预先存在的插件来执行此操作。您可以实现自己的项目,提供自定义作业显示 and/or 覆盖 "Build History" 列表,但我还没有找到任何固定的。
构建历史 UI 元素是 BuildHistoryWidget
(BuildHistoryWidget.java
). It implements ExtensionPoint
so you can override it with an @Extension
。你不需要给 Jenkins 打补丁。
Google 搜索 "extends HistoryWidget" -"class BuildHistoryWidget"
未能找到任何现有的实现。
延长Pipeline Stage View Plugin
如果您使用流水线(工作流)作业,您不妨考虑扩展或修改流水线Stage View Plugin以满足您的需要。
看起来like it's designed to be somewhat extensible. See pipeline-staged.hbs。
是否可以在 Jenkins 中过滤构建历史,以便仅显示具有特定标签或参数的构建?
假设我有一些参数化的工作。其中一个参数是一个简单的字符串,可以是 "experimental" 或 "official"。是否有任何插件可以让我过滤构建历史以仅显示 "official" 构建?
你可以通过这个插件来完成https://wiki.jenkins-ci.org/display/JENKINS/View+Job+Filters
需要阅读的部分是"Filter by Job Parameterization"
快速搜索构建(运行s)+ 自定义 运行 描述
开箱即用的 Jenkins 支持通过标签(描述)匹配的构建历史的快速搜索。您在标签中输入的任何内容都可以用于搜索:
...所以你可以使用任何可以更改构建标签的插件来添加你想要的信息,然后使用快速搜索。上面的示例使用了带 Groovy postbuild plugin, but you could use anything you feel like; say the description setter plugin or job name setter plugin 的 Pipeline 插件。
然后您可以将参数之类的东西注入到作业名称中。它丑陋、烦人且冗长。并且没有方便的方法来保存罐装过滤器。但它有效。
此解决方法有许多不足之处:
- 您无法保存过滤器
- 您无法查看给定过滤器(参数、分支等)的构建趋势
- 您不能只查看过滤器的管道历史记录
这就是为什么很多人使用:
作业模板 - 创建重复作业
如果您想要固定过滤器和方便的保存视图,目前广泛使用的解决方法似乎是使用 Jenkins Job Builder、作业模板插件等来生成许多类似的作业。使用单独的作业来管理单独的参数套件等。然后使用视图根据需要对作业进行分组。
写一个插件?
我还没有找到任何预先存在的插件来执行此操作。您可以实现自己的项目,提供自定义作业显示 and/or 覆盖 "Build History" 列表,但我还没有找到任何固定的。
构建历史 UI 元素是 BuildHistoryWidget
(BuildHistoryWidget.java
). It implements ExtensionPoint
so you can override it with an @Extension
。你不需要给 Jenkins 打补丁。
Google 搜索 "extends HistoryWidget" -"class BuildHistoryWidget"
未能找到任何现有的实现。
延长Pipeline Stage View Plugin
如果您使用流水线(工作流)作业,您不妨考虑扩展或修改流水线Stage View Plugin以满足您的需要。
看起来like it's designed to be somewhat extensible. See pipeline-staged.hbs。