Jenkins通过SSH运行Shellscript并没有离开控制台

时间:2016-11-07 14:48:45

标签: jenkins ssh playframework typesafe-activator

我正在使用Jenkins来部署我的播放应用程序我已经为jenkins添加了SSH支持,我通过ssh连接到测试服务器,然后通过ssh运行一个shel脚本。

这很好。

不工作就是在詹金斯完成工作。

shell脚本中的命令如下:

/usr/src/activator-dist-1.3.10/bin/activator "~ run" &

只应运行激活器,构建并运行项目

但是当应用程序构建并且激活器运行Jenkins作业时,不能完成...它总是在控制台中挂起

看起来像这样: enter image description here

1 个答案:

答案 0 :(得分:1)

当您通过ssh运行脚本时,它将保持打开状态,直到stdout / stderr关闭或发生超时。在Jenkins中,似乎脚本挂起了。 因此,如果您将脚本作为后台作业运行,请确保将其所有输出重定向到某个位置:

nohup yourCommand < /dev/null > /dev/null 2>&1 &

nohup yourCommand < /dev/null >> logfile.log 2>&1 &

有关详细信息,请参阅SSH Frequently Asked Questions