2014-02-20 3 views
0

Я хотел бы иметь возможность выводить информацию из задачи rake, вызванной SSHKit, но я не вижу, как это сделать.вывод отображения из задачи rake, вызванной SSHKit

Скажем, у меня есть следующие задачи грабли:

require 'sshkit/dsl' 

task :hello => :environment do 
    puts "Hello world" 
end 

task :sshkit_hello => :environment do 
    run_locally do 
    rake "hello" 
    end 
end 

Если я бегу: привет задачу по себе я вижу «привет мир» заявление. Однако вызовите его из задачи sshkit, и я просто получаю информацию SSHKit. Как я могу написать информацию из этой первой задачи рейка, которая появится при вызове из SSHKit?

rake hello 
=> Hello world 

rake sshkit_hello 
=> INFO [f0857f14] Running /usr/bin/env rake hello on 
=> INFO [f0857f14] Finished in 6.107 seconds with exit status 0 (successful). 

EDIT1:

Я обнаружил, что вы можете добавить следующее, чтобы получить основной вывод терминала:

SSHKit.config.output = $stdout 

, но, опять же, информация выводится одно и то же - он говорит вам, что он работает «rake hello», но не выход из «rake hello».

rake sshkit_hello 
=> rake hello 
+0

Это в ридми? https://github.com/capistrano/sshkit#output-handling –

+0

Я прошел через это и не понимаю, как это работает. Просто добавление SSHKit.config.output = SSHKit.config.formatter.new ($ stdout) заставляет его взорваться в данный момент, потому что метод форматирования теперь является частным методом. Так что либо документы требуют обновления, либо есть другой способ сделать это ... –

+0

Я просмотрел открытые проблемы и не вижу ничего подобного, но 'SSHKit.config.formatter' определенно закрыт, поэтому вы можете попробовать открыть новую проблему. Также - глядя на количество открытых вопросов (и повторяющихся), я бы не счел этот камень очень надежным. –

ответ

3

Решенный!

То, что я на самом деле нужно было сделать изменения output_verbosity для: отладки для того, чтобы показать заявление ставит во второй задаче грабли:

SSHKit.config.output_verbosity = :debug 

rake sshkit_hello 
=> INFO [6dd1bbf7] Running bundle exec rake hello on 
=> DEBUG [6dd1bbf7] Command: bundle exec rake hello 
=> DEBUG [6dd1bbf7]  Hello World! 
=> INFO [6dd1bbf7] Finished in 6.596 seconds with exit status 0 (successful). 
Смежные вопросы