在詹金斯工作失败

时间:2012-08-20 11:11:26

标签: python jenkins

这个问题可能听起来很奇怪,但我如何让工作失败?

我有一个python脚本,它使用scons编译少量文件,并且作为jenkins作业运行。该脚本测试编译器是否可以构建x64或x86二进制文件,如果它无法执行其中一个操作,我希望该作业失败。

例如:如果我在64位系统上运行我的脚本并且无法编译64位。我可以在脚本中做些什么可能导致失败吗?

3 个答案:

答案 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")