我有以下代码:
task :back_up, :roles => [:server1, :server2] do
我想知道正在执行任务的角色名称server1
或server2
。我需要这个来生成基于服务器的动态字符串
端
这可能吗?
答案 0 :(得分:1)
on roles
块采用可选参数host
,而host
知道为其分配了哪些角色。
示例:
task :some_task do
on roles(:all) do |host|
puts host.roles.to_a
end
end
host
是Capistrano::Configuration::Server
的一个实例,您可以检查它是否与某些特定角色相关:host.has_role?(:db)
。