diff --git a/conf/deploy/common.py b/conf/deploy/common.py index 6e61bbc..100de15 100644 --- a/conf/deploy/common.py +++ b/conf/deploy/common.py @@ -1,5 +1,6 @@ # -*- coding: utf-8 -*- PROJECT_NAME = 'Dokumentor' -PROJECT_NAME_LOCAL = 'dokumentor' +PROJECT_NAME_DEVELOP = 'dokumentor' REPO = 'git@bitbucket.org:Air51/dokumentor_dev.git' -BRANCH = 'develop' +BRANCH_PROD = 'master' +BRANCH_DEVELOP = 'develop' diff --git a/fabfile.py b/fabfile.py index 7aaa88f..48f92fc 100644 --- a/fabfile.py +++ b/fabfile.py @@ -2,12 +2,12 @@ # flake8: noqa from fabric.api import * -from conf.deploy.common import BRANCH, PROJECT_NAME +from conf.deploy.common import BRANCH_DEVELOP, BRANCH_PROD, PROJECT_NAME, PROJECT_NAME_DEVELOP from conf.deploy.prod import HOSTS, USER, PASS -# from conf.deploy.develop import HOSTS, USER, PASS +from conf.deploy.develop import HOSTS as HOSTS_DEVELOP, USER as USER_DEVELOP, PASS as PASS_DEVELOP PROJECT_DIR = f'opt/app/{PROJECT_NAME}' -PROJECT_DIR_DEVELOP = f'projects/{PROJECT_NAME}' +PROJECT_DIR_DEVELOP = f'projects/{PROJECT_NAME_DEVELOP}' env.user = USER env.password = PASS @@ -15,13 +15,13 @@ env.hosts = HOSTS @task -def pull(): +def pull_prod(): with cd(PROJECT_DIR): - run(f'git pull origin {BRANCH}') + run(f'git pull origin {BRANCH_PROD}') @task -def docker_rebuild(): +def docker_rebuild_prod(): with cd(PROJECT_DIR): run('docker-compose build') run('docker-compose down') @@ -29,24 +29,80 @@ def docker_rebuild(): @task -def docker_restart(): +def docker_restart_prod(): with cd(PROJECT_DIR): run('docker-compose restart web') @task -def docker_bash(): +def upgrade_prod(): + pull_prod() + docker_rebuild_prod() + + +@task +def update_prod(): + pull_prod() + docker_restart_prod() + + +@task +def pull_develop(): + env.user = USER_DEVELOP + env.password = PASS_DEVELOP + env.hosts = HOSTS_DEVELOP + with cd(PROJECT_DIR): - run('docker-compose exec web bash') + run(f'git pull origin {BRANCH_DEVELOP}') @task -def upgrade(): - pull() - docker_rebuild() +def docker_rebuild_develop(): + env.user = USER_DEVELOP + env.password = PASS_DEVELOP + env.hosts = HOSTS_DEVELOP + + with cd(PROJECT_DIR_DEVELOP): + run('docker-compose -f docker-compose.develop.conf build') + run('docker-compose -f docker-compose.develop.conf down') + run('docker-compose -f docker-compose.develop.conf up -d') @task -def update(): - pull() - docker_restart() +def docker_restart_develop(): + env.user = USER_DEVELOP + env.password = PASS_DEVELOP + env.hosts = HOSTS_DEVELOP + + with cd(PROJECT_DIR_DEVELOP): + run('docker-compose -f docker-compose.develop.conf restart web') + + +@task +def docker_bash_develop(): + env.user = USER_DEVELOP + env.password = PASS_DEVELOP + env.hosts = HOSTS_DEVELOP + + with cd(PROJECT_DIR_DEVELOP): + run('docker-compose -f docker-compose.develop.conf exec web bash') + + +@task +def upgrade_develop(): + env.user = USER_DEVELOP + env.password = PASS_DEVELOP + env.hosts = HOSTS_DEVELOP + + pull_develop() + docker_rebuild_develop() + + +@task +def update_prod(): + env.user = USER + env.password = PASS + env.hosts = HOSTS_DEVELOP + + pull_develop() + docker_restart_develop()