2016-03-24 4 views
0

Bei Verwendung des Befehls -H kann man Hosts in der Befehlszeile angeben.Fabric: ignore env.hosts bei Verwendung der Option -H

Sagen wir mal von defaut Sie haben eine env.hosts Variable mit einer Liste von Hosts festgelegt. Aber manchmal müssen Sie Ihre Funktionen nur auf einem oder zwei dieser Hosts anwenden, und Sie müssen -H verwenden.

Wie gehen Sie fort, um env.hosts zu ignorieren, wenn Sie dieses Argument verwenden? Ich finde keine Informationen darüber. Ist das der gute Weg, dies zu erreichen?

Antwort

1

Sie env.hosts nur bevölkern können, wenn sie nicht als Befehlszeilenargument wie angegeben wurde:

env.hosts = env.hosts or ['host1', 'host2', 'host3'] 

diese Weise, wenn ein CLI Argument -H/--hosts gesetzt ist, enthält env.hosts bereits einen Wert, wenn der fabfile geladen ist und du überschreibst seinen Wert nicht.

Wie in documentation angegeben, ist die von CLI angegebene Hostliste die letzte in der Rangfolge und kann daher von anderen überschrieben werden.

Verwandte Themen