# HG changeset patch # User ymh # Date 1395844035 -3600 # Node ID baeb057c48bd311dba1e1557dbbac142cb477ba5 # Parent fd509e073f7b88900e688fccb82411f123ba9c26 slightly upgrade fab file to improve deployment diff -r fd509e073f7b -r baeb057c48bd sbin/sync/config.py.tmpl --- a/sbin/sync/config.py.tmpl Fri Mar 21 19:34:51 2014 +0100 +++ b/sbin/sync/config.py.tmpl Wed Mar 26 15:27:15 2014 +0100 @@ -62,3 +62,5 @@ }, } +env.check_folder_access = True + diff -r fd509e073f7b -r baeb057c48bd sbin/sync/fabfile.py --- a/sbin/sync/fabfile.py Fri Mar 21 19:34:51 2014 +0100 +++ b/sbin/sync/fabfile.py Wed Mar 26 15:27:15 2014 +0100 @@ -1,17 +1,19 @@ -from fabric.api import task, env, sudo - -from fablib import (export_version, do_sync_web, create_config, - clean_export_folder, sync_install_build, do_create_virtualenv, - clean_rsync_folder, rsync_export, do_relaunch_server) -from fabric.colors import green import imp import os.path -import config + +import config # @UnusedImport +from fablib import (export_version, do_sync_web, create_config, + clean_export_folder, do_sync_comp, sync_install_build, do_create_virtualenv, + clean_rsync_folder, rsync_export, get_comp_versions_dict, SyncComp, + do_relaunch_server) +from fabric.api import task, env +from fabric.colors import green + @task -def relaunch_server(do_collectstatic=True, do_syncdb=True): +def relaunch_server(do_collectstatic=True, do_syncdb=True, do_check_folder_access=True): print("Relaunch server") - do_relaunch_server(do_collectstatic, do_syncdb) + do_relaunch_server(do_collectstatic, do_syncdb, env.get('check_folder_access',do_check_folder_access)) @task def sync_web(version): @@ -40,7 +42,7 @@ sync_install_build(package_path_full) clean_export_folder(export_path) relaunch_server() - + @task def create_virtualenv(version): @@ -58,3 +60,27 @@ clean_export_folder(export_path) if venv_remote_export_path: clean_rsync_folder(venv_remote_export_path) + +if len(env.repos) > 1: + @task + def sync_platform(version): + print(green("sync platform with version web %s" % (version))) + export_path = export_version(web=version) + + export_path_web = os.path.join(export_path,'web') + do_sync_web(version, export_path_web) + + comp_versions = get_comp_versions_dict(export_path_web) + + for key in [k for k in env.repos if k != 'web']: + export_path_key = export_version(**{key: comp_versions[key]}) + export_path_comp = os.path.join(export_path_key, key) + do_sync_comp(key, export_path_comp) + clean_export_folder(export_path_key) + + create_config(export_path_web) + clean_export_folder(export_path) + relaunch_server() + +for sync_name in [key for key in env.repos if key != 'web']: + globals()[sync_name] = SyncComp(sync_name)