Jenkins pipeline Jenkins脚本化管道:sshCommand执行状态代码

Jenkins pipeline Jenkins脚本化管道:sshCommand执行状态代码,jenkins-pipeline,Jenkins Pipeline,在我的jenkins脚本化管道中,有一个阶段我在远程机器上运行bash脚本。我尝试了以下几种方法,但没有满足要求: -因为我有一个参数要传递给远程服务器命令来运行,sshScript不支持它 -publish-over-ssh-plugin在jenkins日志中显示我的execCommand,这是我不想要的 所以我使用sshPut将bash脚本放在远程服务器上,并使用带参数的sshCommand在那里运行它。一切都很好,除非我有错误,我需要退出并做一些其他事情。如果出现错误,jenkins作业将

在我的jenkins脚本化管道中,有一个阶段我在远程机器上运行bash脚本。我尝试了以下几种方法,但没有满足要求: -因为我有一个参数要传递给远程服务器命令来运行,
sshScript
不支持它 -
publish-over-ssh-plugin
在jenkins日志中显示我的execCommand,这是我不想要的

所以我使用sshPut将bash脚本放在远程服务器上,并使用带参数的sshCommand在那里运行它。一切都很好,除非我有错误,我需要退出并做一些其他事情。如果出现错误,jenkins作业将异常退出执行。这可以通过设置sshCommand的
failOnError:false
来覆盖;但那份工作永远不会失败

如果sshCommand:退出时出现错误,那么我需要做一些事情,比如发送slackNotify等等。那么,有没有像
statusCode
exit bhalah
这样的东西,我可以像
那样进行比较呢0
并执行一些功能

我在想类似的事情

stage('Deploy'){

// some blocks here

 sshCommand remote: remote, failOnError: false, command: "bash Filescript.sh $ARGS1"

  if (statusCode != 0){
     //do my thing here
    }
}
您可以使用try-catch:

stage('Deploy'){
// some blocks here
  try {  
    sshCommand remote: remote, command: "bash Filescript.sh $ARGS1"
  }
  catch {
    //do my thing here
  }
}