【问题标题】:'Play run' exits when triggered through hudson but works fine from commandline“播放运行”通过 hudson 触发时退出,但从命令行可以正常工作
【发布时间】:2014-02-14 19:47:46
【问题描述】:

在 hudson 和 play 遇到了一个奇怪的问题。通过命令行(使用“play run”命令)运行/启动一个新的播放项目/应用程序时,应用程序启动正常并等待您点击 CTL+D(这是预期的)。所以想象一个shell脚本'run-play.sh',内容如下,

cd my-play-app
play run
echo "Play exited"

当上面的脚本在我的本地机器上运行时,我看到以下输出,

--- (Running the application from SBT, auto-reloading is enabled) ---

[info] play - Listening for HTTP on /0:0:0:0:0:0:0:0%0:9000

(Server started, use Ctrl+D to stop and go back to the console...)

但是当通过 hudson UI(通过 ssh 连接到同一个本地框)运行相同的命令时,脚本会立即退出并显示“play exited”。我不知道为什么通过 hudson 运行相同的命令与直接在盒子上运行它的行为不同。我们正在播放 2.2.1

【问题讨论】:

    标签: playframework hudson


    【解决方案1】:

    尝试通过play run & 后台处理play run 或暂停和恢复它。你会收到一些关于tty 的消息。我认为当你运行脚本时,你需要确保 shell 支持 tty。具体来说,ssh 有一个参数-t 可以启用 tty “强制伪 tty 分配”。尝试通过使用和不使用 -t 的 ssh 传递脚本来运行脚本,也可以使用附加的 -t -t(参见 ssh 手册页)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-04-07
      • 2020-01-02
      • 1970-01-01
      • 1970-01-01
      • 2012-09-05
      相关资源
      最近更新 更多