[Web-SIG] Sarge - progress update

Alex Morega alex at grep.ro
Mon Sep 10 18:27:00 CEST 2012


Hello!

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.

http://mgax.github.com/sarge/

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
production, today.

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.

Thoughts, ideas?

Cheers,
-- Alex



More information about the Web-SIG mailing list