Hi All, 

I'm using Fabric to manage a fairly standard (?) Django deployment. We have 
front end web server which handles static media and proxies to a pair of 
application servers. 

Updating the application is fairly simple but it involves a sequence of steps 
across the different servers. For this we use roles, via the decorators, which 
works perfectly but we end up with a long command string: 

$ fab run_tests freeze_requirements update_repository create_snapshot 
update_virtualenv update_media update_nginx graceful_migrate

What I want here is to wrap this in a single task so I can just call:

$ fab deploy

As you see coming, the trouble is that the @role decorators aren't evaluated 
within the deploy task, so this approach fails. It's easy enough to wrap in a 
shell script, but that's outside the fabfile. Otherwise there's the ugly option 
of manually munging env.host_string with the deploy task. 

1. Is there another way I'm missing? (Quite possibly :-)

2. Would it be feasible to able a command line option to say, "get your list of 
tasks from here", which would address this use-case? 

Regards,
Carlton


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

Reply via email to