2015-04-17 1 views
1

Я использую capistrano 3.2.1 с драгоценным камнем capistrano, чтобы перезапустить рабочих раската при развертывании. Всегда получать эту ошибку.Рельсы Развертывание с capistrano и начало работы с resque

Если я запускаю рабочих вручную в текущем каталоге на рабочем сервере, он начинается нормально.

cd /home/azureuser/apps/app_production/current && (RBENV_ROOT=~/.rbenv RBENV_VERSION=2.1.1 /usr/bin/env nohup RBENV_ROOT=~/.rbenv RBENV_VERSION=2.1.1 ~/.rbenv/bin/rbenv exec bundle exec rake RACK_ENV=production RAILS_ENV=production QUEUE="mailer" PIDFILE=/home/azureuser/apps/app_production/shared/tmp/pids/resque_work_1.pid BACKGROUND=yes VERBOSE=1 INTERVAL=5 environment resque:work >> log/resque.log 2>> log/resque.log) 
cap aborted! 
SSHKit::Runner::ExecuteError: Exception while executing as [email protected]: nohup exit status: 127 
nohup stdout: Nothing written 
nohup stderr: Nothing written 
/Library/Ruby/Gems/2.0.0/gems/sshkit-1.7.1/lib/sshkit/runners/parallel.rb:16:in `rescue in block (2 levels) in execute' 
/Library/Ruby/Gems/2.0.0/gems/sshkit-1.7.1/lib/sshkit/runners/parallel.rb:12:in `block (2 levels) in execute' 
SSHKit::Command::Failed: nohup exit status: 127 
+0

Что будет записано в 'приложения/app_production/ток/log/resque.log', когда он терпит неудачу? –

+0

ohup: не удалось запустить команду 'RBENV_ROOT =/home/azureuser/.rbenv ': нет такого файла или каталога. Это журнал ошибок. – MadNik

+0

И если я проверяю 'which rbenv', он записывает '/home/azureuser/.rbenv/bin/rbenv' – MadNik

ответ

0

После того как я работал, что Capistrano-rbenv была проблема, я удалил этот драгоценный камень от моей Gemfile, а также мой capfile.

Затем я просто добавил следующее к моему deploy.rb файла:

set :default_env, { 
    PATH: "$HOME/.rbenv/shims:$HOME/.rbenv/bin:$PATH", 
    RBENV_ROOT: '~/.rbenv', 
    RBENV_VERSION: '2.2.2' 
} 

Теперь Capistrano-спасательное работает правильно как и единорог и т.д ..