Capistrano Deploy error

Recent am avut de a face unele actualizări la o aplicație pe care nu am atins-o în aproximativ un an. Când încercați să implementați cu Capistrano (prin Github), am această eroare:

[deploy:update_code] exception while rolling back: IOError, closed stream

Full logged error here: https://gist.github.com/2829751

Am reinstalat cheia SSH a serverului meu după sperietoarea de securitate Github SSH. Nimic nu ar fi trebuit să se schimbe pe serverul de la distanță, iar implementarea a lucrat bine înainte. Singura modificare semnificativă a sistemului meu local se îndreaptă către RVM.

Orice idei ce cauzează eroarea?

Iată fișierul meu deploy.rb, dacă asta ajută:

default_run_options[:pty] = true 

set :domain, 'xxx.xxx.xxx'
set :repository,  "XXX MY REPO XXX"
set :branch, 'master'
set :password, 'XXXXXXX'

set :deploy_to, "/var/www/#{domain}"

set :scm, :git
set :repository_cache, "git_cache"
set :deploy_via, :remote_cache

ssh_options[:paranoid] = false

set :user, "XXX"
set :runner, user
set :use_sudo, true
set :rails_env, 'production'

role :app, domain # multiple domains can be added here for parallel deployment (i.e. test_app)
role :web, domain
role :db,  domain, :primary => true

namespace :deploy do
  task :start, :roles => :app do
    run "touch #{release_path}/tmp/restart.txt"
  end

  task :stop, :roles => :app do
    # Do nothing.
  end

  desc "Restart Application"
  task :restart, :roles => :app do
    run "touch #{release_path}/tmp/restart.txt"
  end
end

deploy.task :cold do
  deploy.update
  deploy.create_db
  deploy.migrate
  deploy.restart # Change to start if we're using mongrels
end 

after "deploy:update_code", :update_config
after "deploy:restart", "delayed_job:restart"
after "deploy", "deploy:cleanup"

#links config files from shared to the release path and mongrel path after deployment
desc "Create all symlinks and files needed for app activation ofter deployment"
task :update_config, :roles => :web do
    run "ln -s -f /var/www/#{domain}/shared/database.yml #{release_path}/config/database.yml"
    run "ln -s -f /var/www/#{domain}/shared/app.yml #{release_path}/config/app.yml"
    run "ln -s -f /var/www/#{domain}/shared/cache #{release_path}/public/cache"
    run "ln -s -f /var/www/#{domain}/shared/survey_cache #{release_path}/public/surveys"
    run "ln -s -f /var/www/#{domain}/shared/surveys #{release_path}/surveys"
end

desc "changes ownership to cbdsm:git"
task :update_permissions, :roles => :web do
    sudo "chown -R #{user}:git /var/www/#{domain}"
end

namespace :delayed_job do
  desc "Start the delayed_job process"
  task :start, :roles => :app do
      run "cd #{current_path} && RAILS_ENV=#{rails_env} script/delayed_job -n 3 start"
  end

  desc "Stop the delayed_job process"
  task :stop, :roles => :app do
      run "cd #{current_path} && RAILS_ENV=#{rails_env} script/delayed_job stop"
  end

  desc "Restart the delayed_job process"
  task :restart, :roles => :app do
      delayed_job.stop
      delayed_job.start
  end
end

UPDATE: Aceasta pare să fie o problemă set: use_sudo, true . Eliminarea acestei linii și a oricăror comenzi care necesită sudo păreau să rezolve problema. Încă nu-mi este clar ce sa schimbat - asta a făcut problematică problema. A funcționat bine înainte.

În plus, am eliminat linia default_run_options [: pty] = true .

1

2 răspunsuri

După cum este postat mai sus:

Aceasta pare a fi o problemă stabilită: use_sudo, true. Eliminarea acestei linii și a oricăror comenzi care necesită sudo păreau să rezolve problema. Încă nu-mi este clar ce sa schimbat - asta a făcut problematică problema. A funcționat bine înainte.

În plus, am eliminat linia true_run_options [: pty] = true.

1
adăugat
Multumesc pentru asta, am rulat Webistrano (Capistrano w/Web UI), iar modelul implicit a fost default_run_options [: pty] = true .
adăugat autor Justin Fortier, sursa

În aceste cazuri postați /config/deploy.rb pentru a ajuta ...

BTW, cum setați setarea : deploy_via ? Încercați să schimbați această valoare la : remote_cache (de la : copy ):

set :deploy_via, :remote_cache

și vezi ce se întâmplă.

0
adăugat