capistrano-django provides a solid basis for common django deployment
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.

Capistrano Django

A set of tasks built ontop of Capistrano to assist with Django deployments

example config file:

set :application, 'app_name'
set :scm, :git
set :repo_url, ''
set :django_settings_dir, 'app_name/settings'
set :pip_requirements, 'requirements/base.txt'
set :keep_releases, 5
set :nginx, true
set :deploy_to, '/www/'
set :wsgi_file, 'app_name.wsgi'
set :npm_tasks, {:grunt => 'do_something', :gulp => 'something_else'}
set :stage, :production
set :django_settings, 'production'
role :web, "user@"

Ordinarily, capistrano-django builds a separate virtualenv per-deploy.

If you include:

set :shared_virtualenv, true

in your configuration file, it will instead create a virtualenv in the shared_path, and symlink it into the release path. It will build it via requirements only when they differ from those of the last release.

Author: Matthew J. Morrison. Follow me on Twitter