
Deploying Django sites with Fabric, Pip and virtualenv: Ryan Williams - Goosey
http://ryanwilliams.org/2009/jun/09/deploying-django-sites-fabric-pip-and-virtualenv/
======
jsdalton
Note that this article is almost a year old, and the fabfile.py example he has
here is using the old version of Fabric.

There's been a pretty significant overhaul of Fabric since then, and it's
really improved quite a bit. You can check out the major changes in current
release here: <http://docs.fabfile.org/0.9.0/changes/0.9.html>

------
jokull
kraftwerk is the evolved way to do this. <http://www.kraftwerk-wsgi.com/>

I am the author. Check it out and tell me what you think!

~~~
callahad
Looks somewhat similar to Ian Bicking's Silver Lining (née Toppcloud):
<http://cloudsilverlining.org/>

~~~
jokull
Yes kraftwerk came after Silver Lining and even uses some of its code.

------
j_baker
_Shameless plug ahead_

I may need to write up something on the subject, but you can use envbuilder[1]
to simplify working with the pip and virtualenv part. This works especially
well if you have several chunks of code you need to check out from VCS.

[1] <http://github.com/jasonbaker/envbuilder>

------
scorpioxy
Nice writeup. I use something similar for my Django deployments.

Although I still don't like the way you have to write commands in fabric. I
mean, the multiple commands in the single run call. Its not quite readable and
thus too error prone.

~~~
digitallogic
But the beauty of commands being implemented via python code is you can
extended it arbitrarily. One of the first things I did with fabric is write
some additional code that would optionally dump a shell script instead of
running all the commands so I could more easily debug it/see what's going to
happen.

------
mcav
What's the purpose of the timestamped versions? (As opposed to just one
version, or just running it from the .git checkout?)

~~~
mrkurt
It's much easier to rollback if something goes wrong. You have a "known" good
copy and just change a symlink.

We do the timestamped versions too, but our build process tars everything we
need up and SCPs it over. Our release directories usually need to be
transformed, though, and can't work as a simple git checkout.

------
Hexstream
OT: Animated favicons: Just Say No. (Yes, I'm sure there's a way to disable it
client-side but the point remains.)

