web-dev-qa-db-ja.com

Jenkinsジョブが中止されたときにビルド後スクリプトを実行する

Jenkinsジョブが中止されたときにポストビルドスクリプトを実行できる可能な方法/プラグインはありますか?ポストビルドプラグインは一連のスクリプトを実行するアクションを提供しますが、これらのスクリプトは、成功したジョブまたは失敗したジョブの2つのオプションでのみ実行できます。

19
Jose

この質問は積極的に回答されます ここ

Post Build Task プラグインは、ジョブが中止された場合でも実行されます。

これを使用して「ビルドが中止されました」のログテキストを検索し、実行するシェルスクリプトを指定できます。

魅力のように機能します。 :-)

21
tim

私の知る限り、ビルドが中止された場合、ビルドステップ(またはビルド後のステップ)を実行する方法はありません。これは、私が "中止"することを期待していることです。

あなたができることは、最初のジョブのステータスを監視し、それが中止された場合にトリガーする別のジョブを作成することです(例: BuildResultTrigger プラグインを参照)。

別の解決策は、最初のジョブをビルドステップとして呼び出す「ラッパー」ジョブを作成することです。これにより、中止された場合でも、ステータスの確認など、完了後に追加のステップを実行できます。

2
Akos Bannerth

スクリプトパイプラインを使用する場合は、常にtry/catch/finallyセットを使用できます。ビルドはtryブロックで実行され、ポストビルドステップはfinallyブロックにあります。これにより、ビルドが失敗した場合でも、ビルド後のステップが実行されます。

try {
        build here
}catch(FlowInterruptedException interruptEx){

    catch exception here
} finally {

    postBuild(parameters)

}
0
anuj0901