2012-10-29 55 views
4

在我的本地机器和服务器上都做了bundle update之后,我无法再部署了。我得到的错误是一种权限,因为我想,但我不能让发生的事情:Сapistrano:无法访问`〜/ releases /':没有这样的文件或目录

cap deploy 
    * 2012-10-30 02:48:45 executing `deploy' 
    * 2012-10-30 02:48:45 executing `deploy:update' 
** transaction: start 
    * 2012-10-30 02:48:45 executing `deploy:update_code' 
    executing locally: "git ls-remote ssh://[email protected]/~/git/strana_cvetov.git HEAD" 
[email protected]'s password: 
    command finished in 7500ms 
    * executing "git clone -q --depth 1 ssh://[email protected]/~/git/strana_cvetov.git ~/rails_apps/strana_cvetov/releases/20121029224852 && cd ~/rails_apps/strana_cvetov/releases/20121029224852 && git checkout -q -b deploy 672780789da61c81640fe7fbd2728064d0f89db3 && (echo 672780789da61c81640fe7fbd2728064d0f89db3 > ~/rails_apps/strana_cvetov/releases/20121029224852/REVISION)" 
    servers: ["robotinthecloak.com"] 
Password: 
    [robotinthecloak.com] executing command 
** [robotinthecloak.com :: out] [email protected]'s password: 
Password: 
** [robotinthecloak.com :: out] 
    command finished in 2265ms 
    * 2012-10-30 02:48:56 executing `deploy:finalize_update' 
    triggering before callbacks for `deploy:finalize_update' 
    * 2012-10-30 02:48:56 executing `deploy:assets:symlink' 
    * executing "rm -rf ~/rails_apps/strana_cvetov/releases/20121029224852/public/assets &&\\\n  mkdir -p ~/rails_apps/strana_cvetov/releases/20121029224852/public &&\\\n  mkdir -p ~/rails_apps/strana_cvetov/shared/assets &&\\\n  ln -s ~/rails_apps/strana_cvetov/shared/assets ~/rails_apps/strana_cvetov/releases/20121029224852/public/assets" 
servers: ["robotinthecloak.com"] 
[robotinthecloak.com] executing command 
command finished in 162ms 
    * executing "chmod -R -- g+w \\~/rails_apps/strana_cvetov/releases/20121029224852 && rm -rf -- \\~/rails_apps/strana_cvetov/releases/20121029224852/public/system && mkdir -p -- \\~/rails_apps/strana_cvetov/releases/20121029224852/public/ && ln -s -- ~/rails_apps/strana_cvetov/shared/system \\~/rails_apps/strana_cvetov/releases/20121029224852/public/system && rm -rf -- \\~/rails_apps/strana_cvetov/releases/20121029224852/log && ln -s -- ~/rails_apps/strana_cvetov/shared/log \\~/rails_apps/strana_cvetov/releases/20121029224852/log && rm -rf -- \\~/rails_apps/strana_cvetov/releases/20121029224852/tmp/pids && mkdir -p -- \\~/rails_apps/strana_cvetov/releases/20121029224852/tmp/ && ln -s -- ~/rails_apps/strana_cvetov/shared/pids \\~/rails_apps/strana_cvetov/releases/20121029224852/tmp/pids" 
    servers: ["robotinthecloak.com"] 
    [robotinthecloak.com] executing command 
** [out :: robotinthecloak.com] chmod: 
** [out :: robotinthecloak.com] cannot access `~/rails_apps/strana_cvetov/releases/20121029224852' 
** [out :: robotinthecloak.com] : No such file or directory 
** [out :: robotinthecloak.com] 
    command finished in 205ms 
*** [deploy:update_code] rolling back 
    * executing "rm -rf ~/rails_apps/strana_cvetov/releases/20121029224852; true" 
    servers: ["robotinthecloak.com"] 
    [robotinthecloak.com] executing command 
    command finished in 167ms 
failed: "sh -c 'chmod -R -- g+w \\~/rails_apps/strana_cvetov/releases/20121029224852 && rm -rf -- \\~/rails_apps/strana_cvetov/releases/20121029224852/public/system && mkdir -p -- \\~/rails_apps/strana_cvetov/releases/20121029224852/public/ && ln -s -- ~/rails_apps/strana_cvetov/shared/system \\~/rails_apps/strana_cvetov/releases/20121029224852/public/system && rm -rf -- \\~/rails_apps/strana_cvetov/releases/20121029224852/log && ln -s -- ~/rails_apps/strana_cvetov/shared/log \\~/rails_apps/strana_cvetov/releases/20121029224852/log && rm -rf -- \\~/rails_apps/strana_cvetov/releases/20121029224852/tmp/pids && mkdir -p -- \\~/rails_apps/strana_cvetov/releases/20121029224852/tmp/ && ln -s -- ~/rails_apps/strana_cvetov/shared/pids \\~/rails_apps/strana_cvetov/releases/20121029224852/tmp/pids'" on robotinthecloak.com 

deploy.rb看起来是这样的:

# The name of the app 
set :application, "strana_cvetov" 

# The address of the remote host 
set :location, "robotinthecloak.com" 

# setup some Capistrano roles 
role :app, location 
role :web, location 
role :db, location, :primary => true 

# The directory on the server that will be deployed to 
set :deploy_to, "~/rails_apps/#{application}" 
# The type of Source Code Management system 
set :scm, :git 
# The location of the LOCAL repository relative to the current app 
set :repository, "ssh://[email protected]#{location}/~/git/#{application}.git" 
# The way in which files will be transferred from repository to remote host 
set :deploy_via, :copy 

set :use_sudo,   false 
#tell git to clone only the latest revision and not the whole repository 
set :git_shallow_clone, 1 
set :keep_releases,  5 

#options necessary to make Ubuntu’s SSH happy 
ssh_options[:paranoid] = false 
default_run_options[:pty] = true 

set :rails_env, :production 

# Set up SSH so it can connect to the EC2 node - assumes your SSH key is in ~/.ssh/id_rsa 
set :user, "ubuntu" 

# Passenger 
namespace :deploy do 
    task :start do ; end 
    task :stop do ; end 
    task :restart, :roles => :app, :except => { :no_release => true } do 
    run "#{try_sudo} touch #{File.join(current_path,'tmp','restart.txt')}" 
    end 

    namespace :assets do 
    task :precompile, :roles => :web, :except => { :no_release => true } do 
     run "cd #{current_path} && #{bundle exec rake} RAILS_ENV=#{rails_env} RAILS_GROUPS=assets assets:precompile --trace" 
    end 
    end 
end 

after "deploy:create_symlink", "deploy:resymlink", "deploy:update_crontab" 

当我运行deploy:check它说You appear to have all necessary dependencies installed

我搜索了网站,这个网站,尝试了所有我能找到的解决方案,但没有成功。

该服务器上的其他项目也不会在相同的错误情况下进行部署,但几天前,按计划运行得很好,而且我什么也没有碰到。任何人都可以帮我理解发生了什么?

+3

我看不出有什么明显的错,但我会用'/家试试吧作为第一步,不管是否使用〜〜。 – jordanpg

+1

哇!这有帮助,非常感谢你! –

回答

12

使用上部署的完整路径,“〜”可以欺骗

set :deploy_to, "/home/username/rails_apps/#{application}" 
+0

在“deploy.rb”中配置此修改 –

相关问题