我有以下代码:
task :back_up, :roles => [:server1, :server2] do
我想知道执行任务的角色名称 server1
或 server2
。我需要它来根据服务器生成动态字符串
结束
这可能吗?
最佳答案
on Roles
block 采用可选参数 host
,并且 host
知道分配给它的角色。
示例:
task :some_task do
on roles(:all) do |host|
puts host.roles.to_a
end
end
主机
是 Capistrano::Configuration::Server
的一个实例,您可以检查它是否与某些特定角色相关,如下所示:host.has_role?(:db)
。
关于ruby-on-rails - 如何在 capistrano 任务中获取当前角色名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33828522/