-
Notifications
You must be signed in to change notification settings - Fork 8
/
Copy pathfabfile.py
46 lines (35 loc) · 1.02 KB
/
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
38
39
40
41
42
43
44
45
import os
from fabric.api import env, local, run
env.hosts = [os.environ['HOST']]
env.port = os.environ['PORT']
def script_config(name):
if name == 'dev':
env.user = os.environ['DEV_USER']
env.cwd = os.environ['DEV_DIR']
elif name == 'prod':
env.user = os.environ['PRODUCTION_USER']
env.cwd = os.environ['PRODUCTION_DIR']
def test():
local("./manage.py test")
def check(name):
script_config(name)
run('git branch')
run('whoami')
run('python --version')
run('which python')
run('pwd')
env.cwd = '{}/{}'.format(env.cwd, '')
run('./manage.py')
def deploy(name):
script_config(name)
run('git fetch origin')
run('git pull')
run('pip install -r requirements.txt')
env.cwd = '{}/{}'.format(env.cwd, '')
run('./manage.py migrate')
# run('./manage.py compilemessages')
if name == 'prod':
dir_name = 'uwsgi-website-master'
else:
dir_name = 'uwsgi-website-dev'
run('sudo kill -3 `cat /tmp/{}.pid`'.format(dir_name))