如果端口无法访问,jenkins ssh 脚本将失败

fail jenkins ssh script in case a port is unreachable

我正在尝试对我的 jenkins 脚本进行最终检查,如果端口可用,我希望脚本(构建)成功,如果无法将其标记为失败。 我怎样才能轻松做到这一点?

这是最后的检查

$ nc -zv 10.10.10.24 3306
Connection to localhost 3306 port [tcp/mysql] succeeded!

您可以使用 catchError() 显式设置构建结果:

catchError(buildResult: 'FAILURE', stageResult: 'FAILURE') {
  sh 'nc -zv 10.10.10.24 3306'
}

参见:https://www.jenkins.io/doc/pipeline/steps/workflow-basic-steps/

但是根据我从你的问题中了解到的情况,只要执行 sh 步骤,这可能已经发生了。如果失败,管道也会在这个阶段/步骤失败(如果你没有以其他方式捕获/处理错误)。

编辑:也许您还想为 nc 设置超时,例如:

nc -zv 10.10.10.24 3306 -w 60