2013-01-02 50 views
12

我在Jenkins中有一個插件,通過休息來運行遠程服務器。
如何在構建中止時向服務器發送最後一個請求?因此,優雅地完成插件的工作?在構建中止時優雅地停止構建步驟(插件)

我發現的'Abort序列'的唯一參考是this。 這使我認爲程序非常粗糙,並且在終止孩子(我的插件)之前我無法捕捉到信號。

回答

2

我有類似的需求,我用PostBuildScript Plugin解決。

我選擇運行構建步驟,但可以運行其他幾個選項。非常容易使用。 我有一個腳本,我必須運行,不管構建如何結束(成功,失敗或中止)。這對我很有效。

我希望這會有所幫助。

+0

我真的很失望,這是唯一的答案。謝謝你的努力,如果沒有最後一個來電者,我會很快獎勵你的賞金。 – bldoron

2

構建中止時,引發InterruptedException。你可以像任何其他異常一樣捕捉它,不僅可以優雅地退出,而且可以防止中止,如果你願意的話。

在你boolean perform()方法,建立一個

try { 
... // Whatever your plugin does 
} 
catch (InterruptedException e) { 
    // Code to handle build being aborted. 
} 

聲明,它將處理,而你的生成步驟正在運行中發生的任何中止。在catch聲明中,您可以再次拋出InterruptedException繼續中止構建,或者只是返回並讓構建繼續。