要求 Fabric 在属于两个角色的机器上执行某些操作

要求 Fabric 在属于两个角色的机器上执行某些操作

我想在 cluster1 的所有 Web 服务器上执行一些操作。但如果我告诉 Fabric

fab -R cluster1,webserver ...

它将在 cluster1 的所有机器以及所有集群的所有 Web 服务器上执行。我该怎么办?

答案1

可以这样解决:

fab -R cluster1_webserver ...

cluster1_webserver在 fabfile 中定义如下:

roledefs['cluster1_webserver'] = list(
    set(roledefs['cluster1']) & set(roledefs['webserver']))

相关内容