0

私はファブリックを使用していることを知っています。次のようなファブリックタスクに引数を渡すことができます:

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

fab task:something='hello'

roledefs にいくつかの引数を渡したい場合はどうすればよいでしょうか。これが私の例です:

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

とにかく、次のようなものを実行して 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 に答える