AutomatedBuildAndDeployment

From Django In Production

Jump to: navigation, search

The following contain links to useful tools for automating the build of Django application servers.

Contents

Capistrano

http://www.capify.org/index.php/Capistrano

Capistrano is a Ruby tool used for automating tasks across a group of servers. It can be used to setup servers consistently with a common set of software or to deploy applications from VCS such as SVN or Git.

http://github.suitmymind.com/ubuntu-machine/ - ubuntu-machine is a Capistrano recipe for setting up web applications on Ubuntu server. It's focussed on Rails applications, but it's a good starting point for building a application server to serve your Django apps.

Paste

Fabric

http://fabfile.org

Fabric is the Capistrano for Python. Again, it's a tool for automating tasks on remote machines via SSH, and is maturing all the time.

http://morethanseven.net/2009/07/27/fabric-django-git-apache-mod_wsgi-virtualenv-and-p/ - Gareth Rushgrove has good blog post on using Capistrano to deploy Django applications with mod_wsgi.

Plain old shell scripts

Sometime shell scripts are the right size tool to use for automating common tasks.

Using Portage on Gentoo

Portage is the official package manager of the Gentoo Linux distribution. It is written in python. Portage uses conventions called the "ebuild" and "eclasses" to automate package builds, installation, and other related administrative tasks. If you happen to have constructed a setup.py for you django project, using portage is remarkably easy. Portage can also use a tool called "webapp-config" that enables easy installation of media. Currently the django 1.0.2-r1 ebuild has this functionality, please take a look at this ebuild for how you can create an ebuild for your django project.

Personal tools