我正在尝试部署capistrano的play2应用程序,但我无法弄清楚如何在重新启动play2应用程序后成功进行部署。刚触发“播放开始”会导致进程挂等我按ctrl + d如何使用capistrano在远程计算机上启动play2应用程序
我创建的播放应用程序的根文件夹启动脚本
#!/bin/bash
nohup bash -c "/var/lib/play2/play start &>> /tmp/myapp.log 2>&1" &> /dev/null &
它的伟大工程,当我在服务器上运行它。当我尝试通过ssh从本地机器调用它时,它也可以工作。但是当我使用capistrano时,它似乎没有做任何事情。我Capistrano的配置是这样的:
namespace :deploy do
task :restart do
stop
sleep 1
start
end
task :start do
run "cd #{current_release}/trip-api && ./start.sh"
end
task :stop do
run "cd #{current_release}/trip-api && ./stop.sh"
end
end
什么是启动远程机器上的应用play2最好的方式?如何让它与capistrano合作?
感谢您的澄清,但它不能解决我的问题。这在我在服务器上本地运行时起作用,但由于某种原因,我无法远程触发它(例如,用capistrano) –
我根据您的建议使其工作(请参阅https://gist.github.com/2769718)该解决方案不是使用capistrano的默认版本+符号链接(当前)目录结构,因为RUNNING_PID文件将保留在发行版的旧子目录中,并且脚本无法停止该应用程序。 我会将此标记为答案,因为我认为这是部署播放应用程序的最佳方式。 –