Я использую Capistrano для развертывания приложения Ruby on Rails на VPS под управлением Ubuntu 11.10. Однако всякий раз, когда я запускаю cap: deploy, я получаю эту ошибку:
cd: 1: can't cd to /var/www/appname/releases
Я использую VPS - Linode. Локально у меня Mac OS X 10.7.2 Lion.
Кроме того, я использую git, Passenger и Ngninx, хотя я не думаю, что это имеет значение, я думаю, что это больше всего связано с привилегиями папки и 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