2.1 Django Automated Build and Deployment with Paver
At any given time, I may be working on three or four different Django projects for different clients of mine, each using different versions of Django. Whenever one of these projects makes use of open source Django applications, I also have to make sure that I have the right version of the application available that works with the version of Django the project uses. Up until Django 1.0 was released, the Django team had a tendency to release backwards-incompatible changes on a fairly regular basis, which made the challenges of keeping all of these different applications in synch with Django itself a bothersome task.
In addition to the versioning issues, there's also the fact that most of the Django projects I work on are developed on my local computer and then deployed to a staging server for testing and, once everything is done, the application gets deployed to the production server.
Clearly, this is a situation that calls for automated build and deployment process. I have researched the various tools that are available and have settled on Paver from Kevin Dangoor, so I thought it would be helpful to share an overview of what I've learned during this process so that you can save a little bit of time in the process.