def push_code(rev='HEAD', virtualenv=True, requirements=True, cur_date=None):
if cur_date is None:
cur_date = run("date +%d.%m.%y-%H:%M:%S")
local('git archive -o /tmp/api.tar.gz '+rev)
put('/tmp/api.tar.gz', '/tmp')
run('mv api /tmp/latest-api-{}'.format(cur_date))
run('mkdir api')
with cd("api"):
run('tar xzf /tmp/api.tar.gz')
run('rm -rf env')
run('cp -r /tmp/latest-api-{}/env env'.format(cur_date))
if virtualenv:
if not files.exists('env'):
run('virtualenv env')
if requirements:
with prefix('. env/bin/activate'):
run('pip install -r requirements.txt')
run('rm -rf /tmp/api-*')
run('mv /tmp/latest-api-{} /tmp/api-{}'.format(cur_date, cur_date))
评论列表
文章目录