我正在寻找一种解决方案,允许我们对构建失败进行分类,如:
如果基于控制台输出可以在大部分时间自动完成,那将是很棒的,但我们还需要一个选项来使构建具有特定状态。
我们怎样才能从詹金斯那里获得这种行为?
答案 0 :(得分:2)
Build Failure Analyzer plugin允许您设置正则表达式,以便对当前和未来版本进行分类。一旦设置了正则表达式,就会自动检测当前和未来的构建。这可能正是你所追求的。
我还为Jenkins实现了一个轻量级的手动故障分类插件,它提供了一个简单的下拉列表和附加的文本字段,用于手动分类故障。这是为研究构建失败的研究项目完成的。分类目前在每个构建目录中保存为单独的XML,对Jenkins自己的文件没有影响。类别显示在构建列表中,并显示在每个构建的单独分类页面中。
我遗憾地说这个插件目前没有在任何地方共享,因为它包含一些特定项目的硬编码。如果需要这样的插件,我可以重新访问代码并将其发布为开源代码。但是,就您的目的而言,构建故障分析器的自动解决方案似乎更合适。
插件非常简单,类似的东西也不难实现。如果您希望自己制作类似的东西,或者扩展自动构建失败分析器插件以满足您的需求,Jenkins plugin tutorial和Extend Jenkins页面是Jenkins插件开发的良好起点。对于持久性,熟悉XStream将是有益的,因为Jenkins和大多数插件在内部使用它来将数据序列化为XML。
答案 1 :(得分:1)
出于报告目的,您可以使用构建说明(手动编辑以查看其工作方式转到http://[jenkins_server]/job/[job_name]/[build_number]/editDescription
,或点击构建状态页面上的“添加说明” )。
以编程方式,您可以通过Jenkins CLI( set-build-description 命令)进行设置;或者来自Groovy经Jenkins Java API - Run::setDescription()方法。
可以通过Groovy Plugin或Groovy PostBuild Plugin或两者调用Groovy脚本。
答案 2 :(得分:1)
我所使用的这个工具可能会对您有所帮助:https://github.com/nacuteodor/SearchInJenkinsLogs。这可以与Jenkins工作集成。您可以在构建工件中找到指定正则表达式的搜索文本,或者测试失败,它将打印构建节点和失败的测试报告按构建和测试排序的链接。此外,它还具有使用最大差异阈值对常见类似故障进行分组的功能,按组故障计数排序。
您可以使用此工具查找工件日志中的崩溃,您希望报告并修复a.s.a.p,并且您可以向作业发送电子邮件通知或使工具作业构建失败。我将来可能会添加一些其他功能。