カピストラーノのコマンドに、並列ではなく順次モードで動作する方法を指定する方法があるのではないかと考えていました (通常は環境変数を介して) 可能であれば、呼び出しと呼び出しrun
を切り替える条件ステートメントを避けたいと思いますループrun
。find_servers_for_task(current_task).each do |hostname| ... end
何かアドバイス?
カピストラーノのコマンドに、並列ではなく順次モードで動作する方法を指定する方法があるのではないかと考えていました (通常は環境変数を介して) 可能であれば、呼び出しと呼び出しrun
を切り替える条件ステートメントを避けたいと思いますループrun
。find_servers_for_task(current_task).each do |hostname| ... end
何かアドバイス?
わかりました、最終的に正しい構文を見つけました。run
指定子を使用してコマンドの範囲を制限できます ( Andriy Yanko:hosts
に感謝します)。例:
before "mytask", 'set_roles'
########### mytask #####################
desc "Example of a sequential run of capistrano"
task :mytask, :roles => :dynhosts do
find_servers_for_task(current_task).each do |hostname|
info "=> run mytask on #{hostname}"
run "whoami", :hosts => [ "#{hostname}" ]
end
end