我需要了解为什么capistrano不会创建文件夹当前。我使用以下命令:cap deploy:setup,cap deploy:check,cap deploy缺少当前文件夹Capistrano Rails 3.2
但是,当我检查我的应用程序目录时,我没有当前的文件夹。
这是我deploy.rb
# Execute "bundle install" after deploy, but only when really needed
require 'bundler/capistrano'
# Automatically precompile assets
load "deploy/assets"
# RVM integration
require "rvm/capistrano"
# Application name
set :application, "app"
# Application environment
set :rails_env, :production
# Deploy username and sudo username
set :user, "ubuntu"
default_run_options[:pty] = true
ssh_options[:forward_agent] = true
#We don't want to use sudo (root) - for security reasons
set :use_sudo, false
#Target ruby version
set :rvm_ruby_string, '1.9.3-p374'
#System-wide RVM installation
set :rvm_type, :user
#We use sudo (root) for system-wide RVM installation
set :rvm_install_with_sudo, true
#git is our SCM
set :scm, :git
#Use github repository
set :repository, "[email protected]:.../CM.git"
#master is our default git branch
set :branch, "master"
#Deploy via github
set :deploy_to, "/var/www/app/#{application}"
set :deploy_via, :remote_cache
#We have all components of the app on the same server
server "125.156.125.125", :app, :web, :db, :primary => true
namespace :deploy do
task :restart, :roles => :app, :except => { :no_release => true } do
run "#{try_sudo} touch #{File.join(current_path,'tmp','restart.txt')}"
end
task :symlink_shared do
run "ln -nfs #{shared_path}/config/database.yml #{release_path}/config/database.yml"
run "ln -nfs #{shared_path}/assets #{release_path}/public/assets"
end
task :assets do
system "rsync -vr --exclude='.DS_Store' public/assets #{user}@#{application}:# {shared_path}/"
end
end
after 'deploy:update_code', 'deploy:symlink_shared'
我不明白的地方是错误,如果有人可以帮我吗? 谢谢
Capistrano应该在您的应用程序部署路径“发布”,“共享”和“当前”下创建这些目录(这是发布/ xxxx的sym链接)不记得,但它可能不会在首次部署之前创建,应用程序似乎被配置为部署到“/ var/www/app/app” - 检查是这种情况并仔细检查部署用户拥有目录 – house9 2013-02-19 18:38:15