我正在使用Capistrano将Ruby on Rails应用程序部署到运行Ubuntu 11.10的VPS。 但是,每当我运行cap:部署我得到这个错误:
cd: 1: can't cd to /var/www/appname/releases
我正在使用的VPS是Linode。 本地,我在Mac OS X 10.7.2狮子。
另外,我使用的是git,Passenger和Ngninx,尽pipe我不认为这有什么不同,但我认为这与文件夹权限和SSH有关。
这是deploy.rb
set :user, "name" set :application, "appname" set :domain, "000.000.201.001" set :repository, "." set :use_sudo, true set :deploy_to, "/var/www/#{application}" set :scm, "none" set :deploy_via, :copy role :app, domain role :web, domain role :db, domain, :primary => true namespace :deploy do task :start, :roles => :app do run "touch #{current_release}/tmp/restart.txt" end task :stop, :roles => :app do # Do nothing. end desc "Restart Application" task :restart, :roles => :app do run "touch #{current_release}/tmp/restart.txt" end end
尝试添加以下内容到deploy.rb:
before 'deploy:update', :create_release_folder task :create_release_folder do run "sudo mkdir -p #{deploy_to}/releases" end