我希望能够从 SSHKit 调用的 rake 任务中输出信息,但我不知道该怎么做。
假设我有以下 rake 任务:
require 'sshkit/dsl'
task :hello => :environment do
puts "Hello world"
end
task :sshkit_hello => :environment do
run_locally do
rake "hello"
end
end
如果我自己运行 :hello 任务,我会看到“hello world”语句。但是,从 sshkit 任务中调用它,我只会得到 SSHKit 信息。如何从 SSHKit 调用时出现的第一个 rake 任务中写出信息?
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).
编辑1:
我发现您可以添加以下内容以获得基本的终端输出:
SSHKit.config.output = $stdout
但是,同样,输出的信息是相同的——它告诉你它正在运行“rake hello”,而不是“rake hello”的输出。
rake sshkit_hello
=> rake hello