8

この質問は奇妙に聞こえるかもしれませんが、ジョブを失敗させるにはどうすればよいでしょうか?

scons を使用していくつかのファイルをコンパイルし、jenkins ジョブとして実行している python スクリプトがあります。このスクリプトは、コンパイラが x64 または x86 バイナリをビルドできるかどうかをテストします。これらのいずれかを実行できない場合はジョブを失敗させたいと考えています。

例: 64 ビット システムでスクリプトを実行していて、64 ビットのコンパイルに失敗した場合。失敗する可能性のあるスクリプトでできることはありますか?

4

4 に答える 4

6

スクリプトがゼロ以外のステータスで終了した場合、ビルドは失敗するはずです。

import sys
sys.exit(-1)
于 2012-08-20T11:17:43.010 に答える
4

重要なことは、python スクリプトの実行が、jenkins ジョブが例外またはゼロ以外の例外コードをスローするときの最後のステップであるということです。その後に何かを実行すると、echo "my job is done" でもエラー コードが変更されます。

私にとって、以下はジェンキンスの仕事に失敗します

echo "exit(1)" >> test.py
python test.py

次のようにすると、ジェンキンスの仕事が成功したと表示されます

echo "exit(1)" >> test.py
python test.py
echo "This changes my exit code back to 0, which is successful"
于 2016-08-12T19:22:35.923 に答える
3

いつでも例外を発生させることができます。未処理の場合、アプリケーションは停止します。発生させる例外を指定する必要さえありません。

if not yourTestHere:
    raise

メッセージを指定したい場合は、標準の例外を発生させるだけです。

from exceptions import Exception
if not yourTestHere:
    raise Exception("Script failed because of bla bla bla")
于 2012-08-20T11:15:17.053 に答える