8

我正在寻找一种解决方案,可以让我们对构建失败进行分类,例如:

  • 开发人员(开发人员添加了错误代码)
  • 构建系统(构建系统中的错误)
  • 基础设施问题(服务器没有响应)

如果大部分时间可以根据控制台输出自动完成,那就太好了,但我们还需要一个选项来使构建处于特定状态。

我们如何从詹金斯那里获得这种行为?

4

3 回答 3

3

Build Failure Analyzer 插件允许您设置正则表达式以对当前和未来的构建进行分类。一旦设置了正则表达式,就会自动检测当前和未来的构建。这可能正是您所追求的。

我还为 Jenkins 实现了一个轻量级的手动故障分类插件,它提供了一个简单的下拉菜单和额外的文本字段,用于手动分类故障。这是为研究构建失败的研究项目完成的。分类目前在每个构建的目录中保存为单独的 XML,对 Jenkins 自己的文件没有影响。类别显示在构建列表和每个构建的单独分类页面中。

用于手动故障分类的轻量级 Jenkins 插件

我很遗憾地说该插件目前没有在任何地方共享,因为它包含特定项目的一些硬编码。如果有这样的插件需求,我可以重新访问代码并开源发布。但是,出于您的目的,Build Failure Analyzer 的自动解决方案似乎更合适。

插件非常简单,类似的东西也不难实现。如果您希望自己制作类似的东西,或者可能扩展自动构建失败分析器插件以满足您的需求,Jenkins 插件教程扩展 Jenkins页面是 Jenkins 插件开发的一个很好的起点。对于持久性,熟悉XStream将是有益的,因为 Jenkins 和大多数插件在内部使用 XStream 将数据序列化为 XML。

于 2015-01-30T15:17:38.723 回答
2

出于报告目的,您可以使用构建描述(手动编辑它以查看其工作方式http://[jenkins_server]/job/[job_name]/[build_number]/editDescription,或单击构建状态页面上的“添加描述”)。

以编程方式,您可以通过Jenkins CLIset-build-description命令)进行设置;或通过 Jenkins Java API从 Groovy - Run::setDescription()方法。

Groovy 脚本可以通过Groovy PluginGroovy PostBuild Plugin调用,或者两者都调用。

于 2012-05-16T15:09:29.217 回答
1

我使用的这个工具可能会对您有所帮助:https ://github.com/nacuteodor/SearchInJenkinsLogs 。这可以与 Jenkins 作业集成。您可以在构建工件或测试失败中找到指定正则表达式的搜索文本,它将打印构建节点和失败的测试报告按构建和测试排序的链接。此外,它还具有使用最大差异阈值对常见的相似故障进行分组的功能,按组故障计数排序。

您可以使用此工具在工件日志中查找您希望尽快报告和修复的崩溃,并且您可以使作业发送电子邮件通知或使工具作业构建失败。将来我可能会添加一些其他功能。

于 2016-08-28T19:33:19.120 回答