我試圖設置capistrano來輕鬆部署我的rails3應用程序。我對軌道很陌生。與Capistrano搭配使用rvmsudo
一切正常,因爲它應該除了我試圖重新啓動獨立的乘客服務器。
我在同一臺服務器上運行redmine,所以我跟着http://blog.phusion.nl/2010/09/21/phusion-passenger-running-multiple-ruby-versions/得到多個版本的ruby/rails運行。這工作正常,直到我試圖讓卡皮斯特拉諾重新啓動乘客服務器。
的問題是「須藤」不允許放行環境設置(如上找到:sudo changes PATH - why?)
一切正常,如果我可以使用,而不是「須藤」 rvmsudo',因爲rvmsudo沿着正確的通行證環境信息。但是,如果我在我的Captistrano部署中使用'rvmsudo',它會掛起等待我的sudo密碼。
我想實現一個try_rvmsudo,其功能與try_sudo完全相同,它會在需要時發送密碼。但我似乎無法找到任何有關這樣做的信息。
這裏是我嘗試使用重新啓動命令:
desc "Restart Passenger server"
task :restart, :roles => :app, :except => { :no_release => true } do
run <<-CMD
if [[ -f #{release_path}/tmp/pids/passenger.#{passenger_port}.pid ]];
then
cd #{deploy_to}/current && #{passenger_path}passenger stop -p #{passenger_port} --pid-file #{release_path}/tmp/pids/passenger.#{passenger_port}.pid;
fi
CMD
# restart passenger standalone on the specified port/environment and as a daemon
run "cd #{deploy_to}/current && rvmsudo #{passenger_path}passenger start -e #{rails_env} -p #{passenger_port} -a 127.0.0.1 -d --pid-file #{release_path}\
/tmp/pids/passenger.#{passenger_port}.pid"
end
而且它掛起說:
** [out :: snapshotroulette.com] [sudo] password for deployer: