Playframework ';播放跑步';通过hudson触发时退出,但从命令行可以正常工作

Playframework ';播放跑步';通过hudson触发时退出,但从命令行可以正常工作,playframework,hudson,Playframework,Hudson,遇到了一个关于哈德逊和玩耍的奇怪问题。当通过命令行(使用“play run”命令)运行/启动新的play项目/应用程序时,应用程序将正常启动,并等待您点击CTL+D(这是预期的)。想象一个shell脚本“run play.sh”包含以下内容: cd my-play-app play run echo "Play exited" 当上面的脚本在本地运行时,我会看到以下输出 --- (Running the application from SBT, auto-reloading is enabl

遇到了一个关于哈德逊和玩耍的奇怪问题。当通过命令行(使用“play run”命令)运行/启动新的play项目/应用程序时,应用程序将正常启动,并等待您点击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

尝试通过
播放运行&
进行后台播放
播放运行
,或者暂停并恢复播放。您将收到一些关于
tty
的消息。我认为在运行脚本时,需要确保shell支持tty。具体来说,
ssh
有一个参数
-t
,该参数启用tty“强制伪tty分配”。尝试运行脚本,方法是通过ssh将脚本传递给
-t
,也可以通过添加
-t-t
(请参阅ssh手册页)