[python-nl] Python web app deployment

Gijs Molenaar gijs at pythonic.nl
Sun Jan 11 22:52:48 CET 2009


Tim Molendijk wrote:
> 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.

Ik zou pas met debian packages beginnen te werken als je de software op
meerdere plekken wilt installeren en onderhouden. Op deze manier kan je
dan ook zelf een eigen debian repository opzetten en eventuele updates
op deze manier uit rollen. Volgens mij is een makkelijkere manier om je
django website te deployen via bijvoorbeeld SVN. Je doet een checkout
van een tag of de trunk op je productiesysteem.

De django website zelf staat ook in de svn, volgens mij checken ze deze
uit op een ontwikkelmachine en doen wat ontwikkeling, committen naar
svn, testen op test machine en daarna checkout op productie. Django is
flexibel genoeg om dit alleen met deze acties je website te kunnen deployen.

 * http://code.djangoproject.com/browser/djangoproject.com

Kortom; packages zijn mooi, maar om alles in een package te stoppen is
een beetje overdreven.

 - gijs


------------- volgend deel ------------
Een niet-tekst bijlage is gescrubt...
Naam: signature.asc
Type: application/pgp-signature
Grootte: 260 bytes
Omschrijving: OpenPGP digital signature
URL : <http://mail.python.org/pipermail/python-nl/attachments/20090111/71d5c69a/attachment.pgp>


More information about the Python-nl mailing list