0

我知道使用织物,您可以将参数传递给织物任务,例如:

def task(something=''):
    print "You said %s" % something

fab task:something='hello'

如果我想将一些参数传递给角色定义怎么办。这是我的例子:

env.roledefs = {
    'node1':          ['node1.%s' % DOMAIN],
    'node2':          ['node2.%s' % DOMAIN]
}

无论如何我可以通过运行以下内容来传递域:

fab task -argument='mydomain.com' (pseudo code)
4

1 回答 1

3

您可以通过--set cmd 选项设置自定义环境变量:

fabric task --set domain='mydomain.com'

然后在 fabfile 中,只需从以下内容读取env.domain

env.roledefs = {
    'node1':          ['node1.%s' % env.domain],
    'node2':          ['node2.%s' % env.domain]
}

希望对您有所帮助。

于 2013-04-19T22:07:21.023 回答