是否有从sshPublisher获取一些返回代码或异常的方法?

时间:2019-04-09 04:21:11

标签: jenkins jenkins-pipeline

我正在尝试使用sshPublisher进行循环。
我必须从循环中捕获失败的迭代。

例如

array = [some configs]
array.each {
    sshPublisher ( exec some command )
    if ( error occurred from sshPublisher) { do something }
}  

我发现,如果sshPublisher中发生错误,它会将currentBuild.result更改为UNSTABLE,

因此,我尝试使用currentBuild.result,但无法将其从UNSTABLE设置为SUCCESS,因此无法使用它。

是否有从sshPublisher()获取错误代码或其他内容的方法?

1 个答案:

答案 0 :(得分:1)

这是一个旧插件,最新发布于2016年。

设计与构建结果本身耦合得太厉害,无法读出来,这是documentation on the options

  

如果发生错误,则使构建失败

     

默认情况下,发生错误时,发布者将设置内部版本   结果到不稳定。设置此选项将导致   发布商将生成结果设置为FAILED。此选项尤其如此   在主要动作是发布的促销中很有用   结束...

您可以做的是检查循环中的当前构建结果,如果出现不稳定/故障,则将其重置,例如

if ('FAILURE'.eqauls(currentBuild.result)) {
    //do your thing
    currentBuild.rawBuild.@result = hudson.model.Result.SUCCESS
}