[Web-SIG] Sarge - progress update
alex at grep.ro
Mon Sep 10 18:27:00 CEST 2012
Here's a progress update on "sarge", the deployment tool. Turns out I
was trying to address too many concerns at once, so I focussed on the
core problem: managing the lifecycle of a version of the application.
Sarge acts as container for "instances". An instance can be *created*,
then you install code and configure stuff; you can then *start* and
*stop* it, and when a new version is ready, *destroy* the old one.
There's also a *run* command to bring up a REPL or execute custom
commands. Some documentation exists: http://mgax.github.com/sarge/
Instances are independent, so you can run them simultaneously; this
allows for different instances for different jobs (web, worker, cron
script) and also things like rolling back a failed deployment or
zero-downtime upgrade. I'm using this, for a couple of projects, in
There's an example fabfile in the repo (deploy/complex_fabfile.py), but
it's way more complex than it should be. Much of that logic should
probably be handled by sarge itself.
More information about the Web-SIG