我有一个Jenkins工作来停止节点应用程序,部署代码并启动应用程序.
使用Upstart脚本完成启动/停止.
我使用initctl stop node-App
如果作业正在运行,这很有效.但是如果应用程序已经死亡或处于停止状态,则输出为initctl:未知实例:
这会导致Jenkins作业失败,而不会继续执行后续步骤.
有没有办法在发出启动命令之前检查作业是否已启动?或者jenkins有没有办法不考虑错误并且失败了?
解决方法
一位同事提出了一个很好的解决方案
if ( initctl status node-App | grep start ); then initctl stop node-App fi
从Jenkins运行时非常简单并且工作正常