Merge branch 'devel'
[qcg-portal.git] / fabfile.py
1 from fabric.api import *
2
3 env.user = 'portal'
4 env.hosts = ['agave5.man.poznan.pl']
5
6
7 #################################################
8 # server management (remote)
9 #################################################
10
11 PID_FILE = '/var/run/uwsgi.pid'
12
13
14 @task
15 def start():
16     with cd('qcg-portal'):
17         run("uwsgi --ini uwsgi.ini")
18
19
20 @task
21 def stop():
22     run("uwsgi --stop " + PID_FILE)
23
24
25 @task
26 def restart():
27     run("uwsgi --reload " + PID_FILE)
28
29
30 def is_running():
31     with settings(hide('everything'), warn_only=True):
32         return not run("ps -p `cat {}`".format(PID_FILE), shell_escape=False).failed
33
34
35 @task
36 def status():
37     print "Server is",
38     print "running." if is_running() else "not running."
39
40
41 #################################################
42 # deployment (remote)
43 #################################################
44
45 @task
46 def git_status():
47     with cd('qcg-portal'):
48         run("git status")
49
50
51 @task
52 def deploy():
53     with cd('qcg-portal'):
54         run("git pull")
55
56         run("pip install -r requirements.txt")
57         run("python manage.py migrate")
58         run("python manage.py collectstatic --noinput")
59
60         if is_running():
61             restart()
62         else:
63             print '!!! SERVER NOT RUNNING !!!'