这个问题可能听起来很奇怪,但我如何让工作失败?
我有一个python脚本,它使用scons编译少量文件,并且作为jenkins作业运行。该脚本测试编译器是否可以构建x64或x86二进制文件,如果它无法执行其中一个操作,我希望该作业失败。
例如:如果我在64位系统上运行我的脚本并且无法编译64位。我可以在脚本中做些什么可能导致失败吗?
答案 0 :(得分:5)
如果脚本以非零状态退出,则构建应该失败。
import sys
sys.exit(-1)
答案 1 :(得分:4)
重要的是,当你的jenkins作业抛出异常或非零异常代码时,运行你的python脚本是最后一步。 如果你之后运行其他任何东西,甚至回声"我的工作已完成"将更改错误代码。
对我而言,以下我的jenkins工作失败了
echo "exit(1)" >> test.py python test.py
当我执行以下操作时,我的jenkins工作显示为成功
echo "exit(1)" >> test.py python test.py echo "This changes my exit code back to 0, which is successful"
答案 2 :(得分:3)
您可以随时提出异常。如果未处理,应用程序将停止。你甚至不需要指定你正在引发的异常。
if not yourTestHere:
raise
如果要指定消息,则只能引发标准异常。
from exceptions import Exception
if not yourTestHere:
raise Exception("Script failed because of bla bla bla")