我正在寻找一种使用multirun定义任务的方法,该方法将在命令行中定义的一组服务器上运行(通过角色或主机)。
到目前为止我见过的所有例子都尝试做类似的事情:
env('app-nodes').multirun('some command')
但我不想硬编码角色。我想用fab -R ...
来定义它。我有什么选择?
我希望这可行:
@task
def some_task():
env().multirun('some command')
但是会引发TypeError: '_AttributeDict' object is not callable
答案 0 :(得分:0)
你会非常想使用任务args并将其输入到tav的env()中: http://docs.fabfile.org/en/1.1.1/usage/fab.html#per-task-arguments
另外,为什么你期望主机的空集能够工作?