capistrano로 play2 응용 프로그램을 배포하려고하는데 배포 성공 후 play2 응용 프로그램을 다시 시작하는 방법을 알 수 없습니다. 그냥 '게임 시작'을 트리거링capistrano를 사용하여 원격 컴퓨터에서 play2 응용 프로그램을 시작하는 방법
#!/bin/bash
nohup bash -c "/var/lib/play2/play start &>> /tmp/myapp.log 2>&1" &> /dev/null &
그것은 잘 작동 프로세스가 나를 CTRL + D
을 누를 때까지 내가 재생 응용 프로그램의 루트 폴더에 시작 스크립트를 만들었습니다 기다리고 매달려되게합니다 때를 이 서버에서 실행하십시오. 내가 로컬 컴퓨터에서 ssh를 통해 이것을 호출하려고 할 때도 작동한다. 그러나 카피 스트 라노를 사용하고있을 때는 아무 것도하지 않는 것 같습니다. 내 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) –
제안에 따라 작업했습니다 (https://gist.github.com/2769718 참조). 이 솔루션은 capistrano의 기본 리비전 + 심볼릭 링크 (현재) 디렉토리 구조를 사용하지 않았습니다. RUNNING_PID 파일이 이전 하위 디렉토리에 남아 있기 때문에 스크립트가 더 이상 앱을 중지 할 수 없기 때문입니다. 재생 응용 프로그램을 배포하는 가장 좋은 방법이라고 생각하기 때문에 대답으로 표시하겠습니다. –