Skip to content

Instantly share code, notes, and snippets.

@kogakure
Created February 18, 2009 16:23
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save kogakure/66398 to your computer and use it in GitHub Desktop.
Save kogakure/66398 to your computer and use it in GitHub Desktop.
Python: Fabric (0.9+) – Deploying a Django-Project
#!/usr/bin/python
# -*- coding: utf-8 -*-
from fabric.api import env
env.hosts = ['host.com']
env.user = 'user' # Can also be written in ~/.fabricrc (user = <username>)
env.server_path = '/home/user/django/apache2/bin'
env.project_path = '/home/user/django/project'
env.memcached_ip = 'IP'
env.memcached_port = 'PORT'
env.memcached_size = '20' # in MByte
def deploy():
"Push local changes, pull changes on server, delete compiled files, restart server"
local('git push;')
run('cd %(project_path)s/; git pull; delpyc' % env, pty=True)
restart_server()
def stop_server():
"Stop Apache"
run('%(server_path)s/stop' % env, pty=True)
def start_server():
"Start Apache"
run('%(server_path)s/start' % env, pty=True)
def restart_server():
"Restart Apache"
run('%(server_path)s/stop' % env, pty=True)
run('%(server_path)s/start' % env, pty=True)
def restart_memcached():
"Restart Memcached"
run('kill `pgrep -u $LOGNAME memcached`')
run('/usr/local/bin/memcached -d -l %(memcached_ip)s -m %(memcached_size)s -p %(memcached_port)s' % env, pty=True)
restart_server()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment