Automating, Building, Testing and Deploying to Production Server

Mike Meyer mwm at
Mon Oct 3 01:35:15 CEST 2005

"yoda" <nochiel at> writes:

> Hi Guys,
> I've been used to deploying code to the production server by checking
> out of subversion and manually sorting out any kinks. (yes, I know, it
> sounds primitive)

Actually, it sounds like your test/development environment is
primitive.  There shouldn't be any "kinks" to sort out by the time you
check things out on the production server.

> How do you automate the process?

I do what you do - except I use perforce instead of svn, and automate
things. There's a development branch, a test branch, and a production
branch for each project. Developers can check things into the
development branch, and integrate from development to test. QA folks
can integrate from test to production. There are daemon processes
running on the test and production servers that do "p4 sync" ("svn up"
to you) once a minute, thus automatically installing new code on the
appropriate server. The QA folks "sort out the kinks" on the test
server, so that the production server doesn't suffer outages from the
development process.

> What tools do you use and how?

Perforce and the python wrapper for same. And of course Python.

> What documentation is available for the various tools?

Bundled with the tools, and on their web sites for perforce and the
wrapper. Lots for Python, all over the place.

> What is the best, easiest, most automated, method that provides robust
> versioning and easy rollback?

The perforce web site has some white papers on "best practices". I
read those - especially the one on web server software - then
implemented what I described above.

Mike Meyer <mwm at>
Independent WWW/Perforce/FreeBSD/Unix consultant, email for more information.

More information about the Python-list mailing list