我想通过分析控制台日志的结果来使构建失败,因为我正在构建一个mac项目。它构建每个模块并给出如下结果:
###################################
XX XXX XXX
##########################
然后返回BUILD FAILED
我想在控制台输出结束时显示构建失败,同时我想知道哪个模块失败了。它应该通过电子邮件发送,因为我已经在使用email-ext
插件。
我不确定需要做什么;我知道text-finder
,日志解析器和设置运行条件 - 但不知道要遵循的步骤。
答案 0 :(得分:7)
您需要同时使用text-finder plugin和email-ext插件才能实现目标。
首先设置text-finder插件并提供适当的正则表达式。像.*(?i)failed.*|.*(?i)error.*
这样的东西会以不区分大小写的方式找到单词“failed”或“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参数以满足您的需求。