如果端口无法访问,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
我正在尝试对我的 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