Python 结构将参数传递给roledefs

Python 结构将参数传递给roledefs,python,fabric,Python,Fabric,我知道使用fabric,您可以向fabric任务传递参数,如: def task(something=''): print "You said %s" % something fab task:something='hello' 如果我想把一些参数传递给roledefs呢。以下是我的例子: env.roledefs = { 'node1': ['node1.%s' % DOMAIN], 'node2': ['node2.%s' %

我知道使用fabric,您可以向fabric任务传递参数,如:

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

fab task:something='hello'
如果我想把一些参数传递给roledefs呢。以下是我的例子:

env.roledefs = {
    'node1':          ['node1.%s' % DOMAIN],
    'node2':          ['node2.%s' % DOMAIN]
}
是否有我可以通过运行以下程序在域中传递的内容:

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

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

fabric task --set domain='mydomain.com'
然后在fabfile中,只需从
env.domain
读取:

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

希望对您有所帮助。

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

fabric task --set domain='mydomain.com'
然后在fabfile中,只需从
env.domain
读取:

env.roledefs = {
    'node1':          ['node1.%s' % env.domain],
    'node2':          ['node2.%s' % env.domain]
}
希望这对你有帮助