在我的本地機器和服務器上都做了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
。
我搜索了網站,這個網站,嘗試了所有我能找到的解決方案,但沒有成功。
該服務器上的其他項目也不會在相同的錯誤情況下進行部署,但幾天前,按計劃運行得很好,而且我什麼也沒有碰到。任何人都可以幫我理解發生了什麼?
我看不出有什麼明顯的錯,但我會用'/家試試吧作爲第一步,不管是否使用〜〜。 – jordanpg
哇!這有幫助,非常感謝你! –