2015-04-24 5 views
1

Я пытаюсь открыть рельсы консоли с помощью Capistrano, но тесное соединение После сценария я использую и открытой консоли рельсыCapistrano не открывая рельсы консоли

Код

namespace :rails do 
    desc "Start a rails console, for now just with the primary server" 
    task :c do 
    on roles(:app), primary: true do |role| 
     rails_env = fetch(:rails_env) 
     execute_remote_command_with_input "#{bundle_cmd_with_rbenv} rails console #{rails_env}" 
    end 
    end 

    def execute_remote_command_with_input(command) 
    port = fetch(:port) || 22 
    puts "opening a console on: #{host}...." 
    cmd = "ssh -l #{fetch(:deploy_user)} #{host} -p #{port} -t 'cd #{deploy_to}/current && #{command}'" 
    exec cmd 
    end 

    def bundle_cmd_with_rbenv 
    puts "RBENV_VERSION=#{fetch(:rbenv_ruby)} RBENV_ROOT=#{fetch(:rbenv_path)} #{File.join(fetch(:rbenv_path), '/bin/rbenv')} exec bundle exec" 
    if fetch(:rbenv_ruby) 
     "RBENV_VERSION=#{fetch(:rbenv_ruby)} RBENV_ROOT=#{fetch(:rbenv_path)} #{File.join(fetch(:rbenv_path), '/bin/rbenv')} exec bundle exec" 
    else 
     "ruby " 
    end 
    end 
end 

Детали

Я использую этот скрипт, чтобы открыть консоль рельсов так много времени, пока не работает, но на пару месяцев открываются консольные консоли s cript терпит неудачу и не знает, что с этим делать.

Выход

RBENV_VERSION=2.1.2 RBENV_ROOT=/home/deployer/.rbenv /home/deployer/.rbenv/bin/rbenv exec bundle exec 
opening a console on: 

Usage: 
    rails new APP_PATH [options] 

Connection to 45.55.142.39 closed. 

Любой Предложение горячий он будет работать

+2

См. Http://stackoverflow.com/questions/25711146/rails-console-not-working-on-server. –

+0

Спасибо .... Это поможет нам много – TayyabZahid

ответ

1

Что-то не так с вашим binstubs. Есть две вещи, которые вам нужно сделать.

1) в вашем deploy.rb: linked_dirs не должен содержать bin каталог

2) Это должно быть в вашем deploy.rb:

set :bundle_binstubs, nil 

и после этого вы можете запустить на локальном компьютере:

rake rails:update:bin 

Это будет включать binstubs в вашем репо.

Сообщите мне, как это.

+0

Это поможет. благодаря – TayyabZahid

Смежные вопросы