2012-10-29 45 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」中配置此修改 –

相關問題