如何检查特定字符串的控制台输出并在构建时引发错误?
How to check the Console Output for a specific string and raise an error on the Build?
我已为构建项目配置 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 构建创建规则集,例如:
在创建 /var/lib/jenkins/logParserRules/python-error 文件中:
error /IndentationError/
接下来,使用这些设置更新 Python 构建:
构建状态将更改为失败:
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
我已为构建项目配置 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 构建创建规则集,例如:
在创建 /var/lib/jenkins/logParserRules/python-error 文件中:
error /IndentationError/
接下来,使用这些设置更新 Python 构建:
构建状态将更改为失败:
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