[python-nl] Python web app deployment

Tim Molendijk tim at timmolendijk.nl
Wed Jan 7 02:30:09 CET 2009


Hi all,

I need some advice and experiences on building and deployment of web
apps in Python (and Django).

We at PromoBee.nl are nearing the release of our new web app. It will
be installed on a fresh server install, which makes for a nice
opportunity to rethink our build and deployment process. Up to this
point we solved deployment with some custom shell scripts and a lot of
manual work. Since I (obviously) do not want to go down this road
again I have done some research lately and although I have come up
with some ideas it appears to me that there is no 'common best
approach'.

My current considerations:
Since the server will run Debian I really like the idea of using
Debian packages for installing and updating the web app and its
libraries. I don't have any experience with building my own packages
but I figure it should be a feasible approach. Then how am I going to
build these packages? I have taken a look at Ant, but I'm afraid to
end up in Java- or XML-hell. Also, since our app is a Python app, I
feel there should be a tool that is better suited for the job. I
considered Distutils, but I am not sure whether it's capable of
everything I need. Our app has a fairly simple architecture and its
deployment is quite straight-forward, but at least I want to be able
to do stuff like checking out code from source control and automated
concatenation and minification of JavaScript files. Also I have been
looking at zc.buildout, but I find it hard to get a grasp of what it
can and cannot do. In addition to that; I am not confident that either
Distutils or zc.buildout will get along easily with the concept of
Debian packages.

Well, all in all a lot of question marks here. Since the problem is so
common I figured many people here must have dealt with it as well. I'm
really curious about how you solved it.

Thanks in advance for any tips, cheers!

Tim


More information about the Python-nl mailing list