1

对于我正在构建的 mac 项目,我想通过分析控制台日志的结果来使构建失败。它构建每个模块并给出如下结果:

###################################
XX XXX XXX
##########################

然后它返回BUILD FAILED

我想在控制台输出结束时显示构建失败,同时我想知道哪个模块失败了。它应该通过电子邮件发送,因为我已经在使用该email-ext插件。

我不确定需要做什么;我知道text-finder,日志解析器和设置运行条件 - 但不知道要遵循哪些步骤。

4

1 回答 1

7

您需要同时使用text-finder 插件和 email-ext 插件才能实现这两个目标。

首先设置 text-finder 插件并提供适当的正则表达式。像:.*(?i)failed.*|.*(?i)error.*会以不区分大小写的方式找到“失败”或“错误”这些词。您需要指定日志文件的路径,并且可能需要选中“也搜索控制台输出”复选框。

这将导致任何输出“失败”或“错误”的构建在 Jenkins 中失败。

您向失败的模块发送电子邮件的要求有点复杂,但可以使用 email-ext 插件。此插件允许您指定一个正则表达式,用于使用接受参数的特殊令牌收集电子邮件内容。完整的参数列表和令牌名称是:${BUILD_LOG_REGEX, regex, linesBefore, linesAfter, maxMatches, showTruncatedLines, substText, escapeHtml, matchedLineHtmlStyle}

这些参数中的大多数都是可选的,这样的事情应该可以为您解决问题:${BUILD_LOG_REGEX, regex=".*(?i)failed.*|.*(?i)error.*", linesBefore=10, linesAfter=10}. 把它放在 email-ext 配置的“默认内容”部分。您也可以指定多个令牌,有关获取完整列表的说明,请参阅此答案:Jenkins Email-ext plugin - tokens

您当然可以编辑 LinesBefore 和 LinesAfter 参数以满足您的需要。

于 2013-03-19T16:50:27.077 回答