优雅地停止构建中止的构建步骤(插件)

时间:2013-01-02 09:40:11

标签: jenkins jenkins-plugins

我在Jenkins有一个插件,通过休息操作远程服务器 如何在构建中止时向服务器发送最后一个请求?那么,优雅地完成插件的工作?

我发现的唯一对“中止序列”的引用是this。 这让我觉得程序非常粗糙,并且在它终止孩子(我的插件)之前我无法捕获信号。

2 个答案:

答案 0 :(得分:2)

我有类似的需求,我用PostBuildScript Plugin解决了这个问题。

我选择运行构建步骤,但您可以运行其他几个选项。非常好用。 无论构建如何结束(成功,失败或中止),我都必须运行一个脚本。它对我很有用。

我希望这会有所帮助。

答案 1 :(得分:2)

当构建中止时,抛出InterruptedException。您可以像任何其他异常一样捕获它,不仅可以优雅地退出,还可以防止中止,如果您愿意的话。

boolean perform()方法中,设置

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

语句,它将处理运行构建步骤时发生的任何中止。在catch语句中,您可以再次抛出InterruptedException以继续中止构建,或者只返回并让构建继续。