如果跑步,则新贵停止

时间:2014-01-30 21:25:27

标签: linux bash jenkins upstart

我有一个Jenkins工作来停止节点应用程序,部署代码并启动应用程序。

使用Upstart脚本完成开始/停止。

我使用initctl stop node-App

如果作业正在运行,这很有效。但是,如果应用程序已经死亡或处于停止状态,则输出为initctl: Unknown instance:

这会导致Jenkins作业失败,而不会继续执行后续步骤。

有没有办法在发出启动命令之前检查作业是否已启动?或者,詹金斯是否有办法不考虑错误并使工作失败?

2 个答案:

答案 0 :(得分:9)

一位同事提出了一个很好的解决方案

if ( initctl status node-App | grep start ); then
  initctl stop node-App
fi

从Jenkins运行时非常简单并且工作正常

答案 1 :(得分:0)

我正在使用类似的结构

initctl stop node-App || echo "node-App was not running"