与this question相似,我一直试图访问环境角色该面料提供:
from fabric.api import env
env.roledefs = {
'web': {
'hosts': ['www1', 'www2', 'www3'],
'foo': 'bar'
},
'dns': {
'hosts': ['ns1', 'ns2'],
'foo': 'baz'
}
}
但是the documentation没有解释如何访问那些'foo'键。必须通过以下方式访问它们,这似乎是一种超级黑客行为:
^{pr2}$有没有一种简单的方法可以访问Fabric提供的这些额外的密钥?在
从1.11.1开始,fabric没有提供更简单的方法(而且看到related issue #1276已经关闭,这可能不会改变)。在
如果您想在
env
中为给定任务自动设置这些额外的键,可以使用修饰符。我用的是:然后装饰任何要应用roledef键的任务:
^{pr2}$Fabric应该使它在env上是可调用的,您可以引用它,比如:
env.foo
;在任何一个在其dict中有这个的roledef上相关问题 更多 >
编程相关推荐