kogakure (owner)

Forks

Revisions

gist: 66398 Download_button fork
public
Description:
Fabric (0.9+): Deploying a Django-Project
Public Clone URL: git://gist.github.com/66398.git
Embed All Files: show embed
fabfile.py #
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
#!/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()