File: /var/www/innodrive/fabfile.py
from fabric import Connection, task
from os import getenv
LOCAL_PATH = '/Users/supak/Sites/innodrive.ru/'
TEST_PATH = '/var/www/innodrive'
PRODUCTION_PATH = '/var/www/innodrive'
PRODUCTION_HOST = 'root@45.67.56.56'
TEST_HOST = 'ips@ipsremont.foach.site'
connect_kwargs = {
'passphrase': getenv('SSH_PASSPHRASE')
}
@task
def getTestDump(ctx):
print('#GETTING DUMP FROM TEST')
with Connection(TEST_HOST, connect_kwargs=connect_kwargs) as c:
c.run('cd ' + TEST_PATH)
c.run('mysqldump -u quad -pquad innodrive | gzip > test_dump.sql.gz')
c.get('test_dump.sql.gz', LOCAL_PATH + 'test_dump.sql.gz')
c.local('gunzip < test_dump.sql.gz | mysql -u root -proot innodrive -P 8989 -h 127.0.0.1')
print('DONE')
@task
def getDump(ctx):
print('#GETTING DUMP FROM PRODUCTION')
with Connection(PRODUCTION_HOST, connect_kwargs=connect_kwargs) as c:
c.run('cd ' + PRODUCTION_PATH)
c.run('mysqldump -u root -pinno@#$KJ@#4 innodrive | gzip > dump.sql.gz')
c.get('dump.sql.gz', LOCAL_PATH + 'dump.sql.gz')
c.local('gunzip < dump.sql.gz | mysql -u root -proot innodrive -P 8989 -h 127.0.0.1')
print('DONE')
# from fabric.api import *
# from fabric.colors import *
#
# TEST_PATH = '/var/www/test.innodrive.ru'
# PRODUCTION_PATH = '/var/www/innodrive'
# LOCAL_PATH = '/Users/supak/Sites/innodrive.ru'
#
# env.roledefs = {
# 'test': ['root@eveli.net'],
# 'production': ['root@45.67.56.56']
# }
#
# #PRODUCTION BLOCK
#
# @roles('production')
# def deploy():
# local('mysqldump -u root -proot -P 8989 -h 127.0.0.1 --column-statistics=0 --add-drop-table innodrive > dump.sql');
# with cd(PRODUCTION_PATH):
# put('dump.sql', PRODUCTION_PATH)
# run('git pull')
# run('mysql -u root -pinno@#$KJ@#4 innodrive < dump.sql')
# run('php sql-fix.php')
#
# print green('DONE')
#
# #TEST BLOCK
# @roles('production')
# def get_test_dump():
# with cd(PRODUCTION_PATH):
# run('mysqldump -u root -pinno@#$KJ@#4 innodrive_test | gzip > test_dump.sql.gz');
# get('test_dump.sql.gz', LOCAL_PATH);
#
# local('gunzip < test_dump.sql.gz | mysql -u root -proot innodrive -P 8989 -h 127.0.0.1');
# print green('DONE')
#
#
# @roles('production')
# def get_live_dump():
# with cd(PRODUCTION_PATH):
# run('mysqldump -u root -pinno@#$KJ@#4 innodrive | gzip > dump.sql.gz')
# get('dump.sql.gz', LOCAL_PATH)
#
# local('gunzip < dump.sql.gz | mysql -u root -proot innodrive -P 8989 -h 127.0.0.1')
# print green('DONE')
#
# @roles('production')
# def sync_test():
# with cd(PRODUCTION_PATH):
# run('mysqldump -u root -pinno@#$KJ@#4 innodrive | gzip > dump.sql.gz');
# run('gunzip < dump.sql.gz | mysql -u root -pinno@#$KJ@#4 innodrive_test');
# print green('DONE')
#
# @roles('production')
# def deploy_test():
# local('mysqldump -u root -proot -P 8989 -h 127.0.0.1 --column-statistics=0 --add-drop-table innodrive | gzip > dump.sql.gz')
# with cd(TEST_PATH):
# put('dump.sql.gz', TEST_PATH)
# run('git pull')
# run('gunzip < dump.sql.gz | mysql -u root -pinno@#$KJ@#4 innodrive_test')
#
# print green('DONE')
#
# @roles('production')
# def deploy_test_catalog():
# local('mysqldump -u root -proot -P 8989 -h 127.0.0.1 --column-statistics=0 --add-drop-table innodrive params params_accessories params_controller params_gear params_motor params_npoat params_sensor categories brands products | gzip > dump.sql.gz')
# with cd(TEST_PATH):
# put('dump.sql.gz', TEST_PATH)
# run('git pull')
# run('gunzip < dump.sql.gz | mysql -u root -pinno@#$KJ@#4 innodrive_test')
#
# print green('DONE')
#
# @roles('production')
# def deploy_catalog():
# with cd(PRODUCTION_PATH):
# run('mysqldump -u root -pinno@#$KJ@#4 --add-drop-table innodrive | gzip > backup.sql.gz')
# run('mysqldump -u root -pinno@#$KJ@#4 --add-drop-table innodrive_test params params_accessories params_controller params_gear params_motor params_npoat params_sensor categories brands products | gzip > test_cat_dump.sql.gz')
# run('gunzip < test_cat_dump.sql.gz | mysql -u root -pinno@#$KJ@#4 innodrive')
#
# print green('DONE')
#
# @roles('production')
# def deploy_test_code():
# with cd(TEST_PATH):
# run('git pull');
#
# print green('DONE')
#
# @roles('production')
# def deploy_code():
# with cd(PRODUCTION_PATH):
# run('git pull');
# print green('DONE')
#
# @roles('production')
# def deploy_test_db():
# with cd(PRODUCTION_PATH):
# run('mysqldump -u root -pinno@#$KJ@#4 innodrive_test | gzip > testdump.sql.gz');
# run('gunzip < testdump.sql.gz | mysql -u root -pinno@#$KJ@#4 innodrive');
# run('rm testdump.sql.gz');
# print green('DONE')
#
#
# @roles('test')
# def deploy_test_img():
# print yellow('#PUTTING IMG TO TEST');
# local('rsync -r -e ssh ./public/wp-content/uploads root@109.120.152.219:/var/www/innodrive.ru/public/wp-content');
#
# print green('DONE')
#
# @roles('production')
# def deploy_img():
# print yellow('#PUTTING IMG TO PRODUCTION');
# local('rsync -r -e ssh ./public/wp-content/uploads root@128.199.42.16:/var/www/innodrive/public/wp-content');
#
# print green('DONE')