I've got this code (foo
and bar
are local servers):
env.hosts = ['foo', 'bar']
def mytask():
print(env.hosts[0])
Which, of course prints foo every iteration.
As you probably know, Fabric iterates through the env.hosts list and executes mytask() on each of them this way:
fab mytask
does
task
is executed on foo
task
is executed on bar
I'm looking for a way to get the current host in every iteration.
Thanks,
Use env.host_string
. You can find a full list of env
variables here.
You can just do:
env.hosts = ['foo', 'bar']
def mytask():
print(env.host)
Because when you're in the task as executed by fab, you'll have that var set for free.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With