Skip to main content

Redeploy Django projects using management commands

Project description

Redeploy Django projects using management commands

What does it do?

Using Fabric to run a management command on each remote instance to redeploy itself.

The remote command will pull the source code from Git, run all necessary Django management commands, and restart the server.

Why not just write a Fabric script?

It’s faster. When the you run everything remotely it only takes about 10 seconds to deploy an instance.

What commands will run?

  • git pull
  • pip install -r requirements.txt
  • syncdb
  • migrate
  • collectstatic
  • restart server (webserver dependent)


  • A deployed instance running either:
    • Apache with mod_WSGI
    • GUnicorn
  • Fabric
  • A virtualenv dedicated to the project.
  • A Git hosted repository for the project


Add the app to your INSTALLED_APPS setting:



Add the server configuration to your settings file:

    'default': {
        'HOST': '',         # IP or domain name
        'USER': 'user',                # User to login with
        'BRANCH': 'master',            # Git branch to pull updates from
        'SETTINGS': 'settings',        # Settings file to use (optional)
        'DIR': '/var/www/myproject/',
        'ENV': 'myvirtualenv',         # virtualenv used in the project
        'WEBSERVER': 'gunicorn',       # webserver - 'apache' or 'gunicorn'

        'PID_FILE': '/tmp/',  # Gunicorn pid file path
        'WSGI_FILE': 'deploy/',    # Apache wsgi file path

The PID_FILE / WSGI_FILE settings should be set depending on the web server you’re using.

BRANCH is optional and defaults to master


python deploy_remote default

# Or
python deploy_remote srv1 srv2 #...'

# Don't install requirements:
python deploy_remote default --noreqs

# Deploy all remote instances:
python deploy_remote --all

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for django-sitepush, version 0.1dev2
Filename, size File type Python version Upload date Hashes
Filename, size django-sitepush-0.1dev2.tar.gz (4.3 kB) File type Source Python version None Upload date Hashes View

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Huawei Huawei PSF Sponsor Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page