Capistrano 部署到 VPS 失败

Capistrano 部署到 VPS 失败

我正在使用 Capistrano 将 Ruby on Rails 应用程序部署到运行 Ubuntu 11.10 的 VPS。但是,每当我运行 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

答案1

尝试将以下内容添加到 deploy.rb:

before 'deploy:update', :create_release_folder
task :create_release_folder do  
  run "sudo mkdir -p #{deploy_to}/releases"
end 

相关内容