分组服务

分组服务:

Rex提供一个强大的服务器分组功能。

最简单的方式使用groups 是定义一个group name 增加你需要的服务器到这个组

group frontends => "frontend01", "frontend02", "frontend03";
group backends => "backend01", "backend02";

group frontends => "192.168.137.3", "192.168.137.2";

task "getip", sub {
   my $output = run "ifconfig -a";
   say $output;
};

[root@node01 my-first-rex-project]# rex -g frontends getip

Rex 提供一个简单的符号来定义服务器范围,这样你就不需要输入太多


服务器自定义参数是可以的使用一个稍微加强的语法

group frontends =>
   "frontend01" => { user => "bob" },
   "frontend02" => { user => "alice" },
   "frontend03";


group frontends => "192.168.137.2"=> { user => "root" }, "192.168.137.3"=> { user => "mqm" },;

因为Rexfile 是一个Perl脚本 可以使用更高级的东西比如查询数据库,ldap或者dns

添加你的groups 到任务 你保修使用group选项 


task "mytask", group => "mygroup", sub {
   # do something
};


如果你需要定义多个组,你可以使用一个数组:

task "mytask", group => ["mygroup", "mygroup2"], sub {
   # do something
};
原文地址:https://www.cnblogs.com/hzcya1995/p/13348705.html