gault-millau/fabfile.py
Виктор Гладких 9e6634f1a6 Fix fab
2019-10-30 10:48:59 +03:00

70 lines
1.3 KiB
Python

import os # NOQA
from fabric.api import * # NOQA
user = 'gm'
env.roledefs = {
'develop': {
'branch': 'develop',
'hosts': ['%s@95.213.204.126' % user, ]
}
}
env.root = '~/'
env.src = '~/project'
env.default_branch = 'develop'
env.tmpdir = '~/tmp'
def fetch(branch=None):
with cd(env.src):
role = env.roles[0]
run('git pull origin {}'.format(env.roledefs[role]['branch']))
def migrate():
with cd(env.src):
run('./manage.py migrate')
def install_requirements():
with cd(env.src):
run('pip install -r requirements/base.txt')
def touch():
with cd(env.src):
run('touch ~/%s.touch' % user)
def kill_celery():
"""Kill celery workers for $user."""
with cd(env.src):
run('ps -u %s -o pid,fname | grep celery | (while read a b; do kill -9 $a; done;)' % user)
def collectstatic():
with cd(env.src):
run('./manage.py collectstatic --noinput')
def deploy(branch=None):
if env.roledefs[role]['branch'] !='develop':
fetch()
install_requirements()
migrate()
collectstatic()
touch()
kill_celery()
def rev():
"""Show head commit."""
with hide('running', 'stdout'):
with cd(env.src):
commit = run('git rev-parse HEAD')
return local('git show -q %s' % commit)