Hi again,

I've come up against this myself a few times, again, a question of "best 
practices".

I use a configuration object of my own `CONFIG` throughout my package of fab 
tasks. But I continue to be bugged as to whether I should simply put all my 
config directly onto `env`. From the docs, I'm honestly not sure if the 
recommendation is for or against it. Quoting:

"This aspect of env is largely historical: in the past, fabfiles were not pure 
Python and thus the environment was the only way to communicate between tasks.

Nowadays, you may call other tasks or subroutines directly, and even keep 
module-level shared state if you wish.In future versions, Fabric will become 
threadsafe, at which point env may be the only easy/safe way to keep global 
state."

And then I see that in Invoke/Fabric 2, the end object won't exist.


Is there any current best practice in the community on this?

An example:

CONFIG = {
    'staging': {'machine_location': '123.545.232.67', 'machine_port': 80},
    'production': {'machine_location': '123.454.232.24', 'machine_port': 443},
}

In some places I'll merge this with values from `env` too, for example, when I 
set env.user to be owner of a process.

Any advice is appreciated.

Thanks,

Paul.
_______________________________________________
Fab-user mailing list
Fab-user@nongnu.org
https://lists.nongnu.org/mailman/listinfo/fab-user

Reply via email to