সুতরাং আমি এই কাজ করে যাচ্ছি। এটি ভাল কাজ seams। তবে আপনার কোডটির সত্যিকারের সুবিধা নিতে একটি ফর্ম্যাটার দরকার।
আপনি যদি কোনও ফরম্যাটার ব্যবহার করতে না চান তবে লগ স্তরটি ডিবাগ মোডে সেট করুন। এই সেমাস থেকে এইচ
SSHKit.config.output_verbosity = Logger::DEBUG
ক্যাপ স্টাফ
namespace :invoke do
desc 'Run a bash task on a remote server. cap environment invoke:bash[\'ls -la\'] '
task :bash, :execute do |_task, args|
on roles(:app), in: :sequence do
SSHKit.config.format = :supersimple
execute args[:execute]
end
end
desc 'Run a rake task on a remote server. cap environment invoke:rake[\'db:migrate\'] '
task :rake, :task do |_task, args|
on primary :app do
within current_path do
with rails_env: fetch(:rails_env) do
SSHKit.config.format = :supersimple
rake args[:task]
end
end
end
end
end
এটি উপরের কোডটি দিয়ে কাজ করার জন্য তৈরি করা ফর্ম্যাটর। এটি ভিত্তিতে তৈরি করা হয়েছে: পাঠ্যপুস্তকটি স্ক্কিটের মধ্যে অন্তর্নির্মিত তবে কাস্টম কাজগুলি চালাবার কোনও খারাপ উপায় নয়। ওহ এই অনেকগুলি sshkit রত্নের নতুন সংস্করণে কাজ করে না। আমি জানি এটি 1.7.1 এর সাথে কাজ করে। আমি এটি বলছি কারণ মাস্টার শাখা এসএসএইচকিট :: উপলভ্য কমান্ড পদ্ধতিগুলি পরিবর্তন করেছে।
module SSHKit
module Formatter
class SuperSimple < SSHKit::Formatter::Abstract
def write(obj)
case obj
when SSHKit::Command then write_command(obj)
when SSHKit::LogMessage then write_log_message(obj)
end
end
alias :<< :write
private
def write_command(command)
unless command.started? && SSHKit.config.output_verbosity == Logger::DEBUG
original_output << "Running #{String(command)} #{command.host.user ? "as #{command.host.user}@" : "on "}#{command.host}\n"
if SSHKit.config.output_verbosity == Logger::DEBUG
original_output << "Command: #{command.to_command}" + "\n"
end
end
unless command.stdout.empty?
command.stdout.lines.each do |line|
original_output << line
original_output << "\n" unless line[-1] == "\n"
end
end
unless command.stderr.empty?
command.stderr.lines.each do |line|
original_output << line
original_output << "\n" unless line[-1] == "\n"
end
end
end
def write_log_message(log_message)
original_output << log_message.to_s + "\n"
end
end
end
end
#{rake}
ভেরিয়েবল ব্যবহারের উপকারিতা / বিধিগুলি কেউ ব্যাখ্যা করতে পারেন ? মনে হয় এটি সর্বদা সেরা বিকল্প নয়।