我正在嘗試部署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文件將保留在發行版的舊子目錄中,並且腳本無法停止該應用程序。 我會將此標記爲答案,因爲我認爲這是部署播放應用程序的最佳方式。 –