如果我有:env.hosts = ['my.host.a', 'my.host.b', 'my.host.c']
,调用带有fab -H my.host.a
的脚本是否不会覆盖fabfile中定义的内容?
我将env.hosts
设置为我的fabfile顶部的全局。当我传入-H
时,我的任务仍在完整列表中执行。
答案 0 :(得分:1)
The documentation表示fabfile中的赋值优先。
$ fab -H host1,host2 mytask
这种调用直接等同于
env.hosts = ['host1', 'host2']
[...]
重要的是要知道这些命令行开关在加载fabfile之前被解释:在fabfile中对
env.hosts
或env.roles
的任何重新分配都将覆盖它们。