def module_configure(deploy_info, conf_module_mod, local_path): cfg_modify_info = parse_json(conf_module_mod) get_conf(deploy_info['online_info']['module_machine'], deploy_info['online_info']['module_conf'], local_path, cfg_modify_info) is_ok, conf_name = gen_conf(cfg_modify_info, local_path) exe_sys_cmd('cp -f ' + local_path + '/conf/* ' + local_path + '/' + deploy_info['service_info']['service_exe_path'] + '/') return is_ok, conf_name
def module_data_modify(deploy_info, conf_data_mod): exe_sys_cmd('cp -f ' + os.path.join(sys.path[0], deploy_info['offline_data_info']['data_script']) + ' ' + sys.path[ 0] + '/') if not exe_sys_cmd_v3('python3 ' + os.path.join(sys.path[0], os.path.basename(deploy_info['offline_data_info']['data_script'])) + ' ' + conf_data_mod): return False return True
def get_conf(server = '', conf_online = '', local_path = '', config_modify_list = list()): exe_sys_cmd('mkdir -p ' + local_path + '/conf') exe_sys_cmd_get_echo('rsync -vazP ' + server + '::' + conf_online + ' ' + local_path + '/conf/conf_online') if os.path.exists(local_path + '/conf/conf_online'): for config_modify in config_modify_list: if config_modify['config_type'] == 'cfg': exe_sys_cmd_get_echo('cp -f ' + local_path + '/conf/conf_online ' + local_path + '/conf/' + config_modify['config_file']) return True else: return False
def module_install(deploy_info, conf_module_mod, local_path): if not get_job_ini(deploy_info['online_info']['module_machine'], deploy_info['online_info']['module_path'], local_path): return False cfg_modify_info = parse_json(conf_module_mod) if not modify_job_ini(cfg_modify_info, local_path): return False if svn_get_package(local_path + '/job.ini', local_path) == '': return False if not compile_cplus(local_path): return False exe_sys_cmd('rm -rf ' + local_path + '/' + deploy_info['service_info']['service_exe_path'] + '/data') exe_sys_cmd('ln -s ' + deploy_info['offline_data_info']['data_base_path'] + ' ' + local_path + '/' + deploy_info['service_info']['service_exe_path'] + '/data') return True
def processor(deploy_conf, build_tag=''): deploy_info = parse_json(deploy_conf) env_prepare() if build_tag == '': build_tag = str(int(time.time())) local_path = deploy_info['deploy_info'][ 'deploy_local_path'] + '/' + build_tag + '/' exe_sys_cmd('mkdir -p ' + local_path) is_ok, conf_name, dailybuild_file = gen_dailybuild(deploy_info, local_path) if not is_ok: sys.exit(2) if not distribute_dailybuild( deploy_info['offline_server_info'], dailybuild_file, local_path, '', deploy_info['offline_data_info']['data_base_path'], build_tag): sys.exit(3) if not distribute_customized_data(deploy_info['offline_server_info'], deploy_info['offline_data_info'], '', build_tag): sys.exit(4) if not start_module_service(deploy_info['offline_server_info'], '', deploy_info['service_info']['service_name'], conf_name, build_tag): sys.exit(5)
def mk_data_file_link(offline_data_conf): if not offline_data_conf['need_data_modify']: return if offline_data_conf['data_modify_path'] == '': offline_data_conf['data_modify_path'] = sys.path[0] + '/test_data/' module_path = os.path.join(sys.path[0], 'dailybuild/opt/sogou/') else: module_path = os.path.join(offline_data_conf['service_info']['service_deploy_path'], offline_data_conf['service_info']['service_name'], offline_data_conf['service_info']['service_exe_path']) exe_sys_cmd('rm -rf ' + module_path + '/data') exe_sys_cmd('rm -rf ' + offline_data_conf['data_modify_path']) exe_sys_cmd('mkdir -p ' + offline_data_conf['data_modify_path']) exe_sys_cmd('ln -s ' + offline_data_conf['data_modify_path'] + ' ' + module_path + '/data') dir_list_all = list() dir_list_all += regular_file_get(offline_data_conf) dir_list_all += vr_info_adjust(offline_data_conf) dir_list_all += qo_config_adjust(offline_data_conf) dir_list_all += vr_type_adjust(offline_data_conf) dir_list_all += vr_file_get(offline_data_conf) for index in range(len(dir_list_all) - 1, -1, -1): if dir_list_all[index] in dir_list_all[:index]: dir_list_all.pop(index) for loop_id_1 in range(len(dir_list_all)): for loop_id_2 in range(loop_id_1 + 1, len(dir_list_all)): if len(dir_list_all[loop_id_1].split('/')) < len(dir_list_all[loop_id_2].split('/')): dir_list_all[loop_id_1], dir_list_all[loop_id_2] = dir_list_all[loop_id_2], dir_list_all[loop_id_1] for it in dir_list_all: if (re.search('base/vr$', it) is not None) or (re.search('base/vr/$', it) is not None): file_prefix_list = split_sys_cmd_echo(exe_sys_cmd_get_echo('ls | grep -o ^... | sort -u'), 0) for file_prefix in file_prefix_list: exe_sys_cmd(' ln -s ' + offline_data_conf['data_base_path'] + '/' + it + '/' + file_prefix + '* ' + offline_data_conf['data_modify_path'] + '/' + it + '/' + file_prefix + '*') else: exe_sys_cmd(' ln -s ' + offline_data_conf['data_base_path'] + '/' + it + '/* ' + offline_data_conf['data_modify_path'] + '/' + it + '/')