我已将Hudson配置为构建项目。

构建后的控制台输出如下:

Compiling ./main.py ...
Sorry: IndentationError: ('expected an indented block', ('./main.py', 8, 6, 'thread.start_new_thread( foo.FooThread, () )\n'))
Compiling ./udpReceiver.py ...
<<<<< build finished!
POST BUILD TASK : SUCCESS
END OF POST BUILD TASK : 0

Deleting project workspace...
done

Finished: SUCCESS

如您所见,我有一个缩进错误...。Hudson表示构建作业成功完成。

我想要的是这样的:

检查字符串“IndentationError”是否出现在控制台输出文本上……如果是,则构建应该是:
已完成:失败!

我该怎么做?

最佳答案

我确认Log Parser plugin可以完成将构建状态更改为失败的工作。

安装插件并为您的Python构建创建规则集,例如:

jenkins - 如何检查控制台输出中的特定字符串并在Build上引发错误?-LMLPHP

在创建/var/lib/jenkins/logParserRules/python-error文件中:

error /IndentationError/

接下来,使用以下设置更新Python构建:

jenkins - 如何检查控制台输出中的特定字符串并在Build上引发错误?-LMLPHP

构建状态将更改为FAILURE:
Compiling ./udpReceiver.py ...'
Sorry: IndentationError: ('expected an indented block', ('./main.py', 8, 6, 'thread.start_new_thread( foo.FooThread, () )\n'))
Compiling ./udpReceiver.py ...
Build step 'Console output (build log) parsing' changed build result to FAILURE

关于jenkins - 如何检查控制台输出中的特定字符串并在Build上引发错误?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34748289/

10-09 06:38