【问题标题】:Jenkins run Shellscript via SSH is not leaving consoleJenkins 通过 SSH 运行 Shell 脚本不会离开控制台
【发布时间】:2016-11-07 14:48:44
【问题描述】:

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

这很好。

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

shell脚本中的命令如下:

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

只应运行激活器、构建和运行项目

但是当应用程序被构建并且激活器运行 Jenkins 作业并没有完成......它总是挂在控制台中

看起来像这样:

【问题讨论】:

    标签: jenkins ssh playframework typesafe-activator


    【解决方案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

    【讨论】:

      最近更新 更多