# -*- coding:utf-8 -*- import os import re if __name__ == '__main__': with os.popen('ls | grep .tar') as f: cmd_txt = f.read() if not cmd_txt: raise RuntimeError('请检查文件,tar文件为空') app_name_list = cmd_txt.split('\n') for app_name in app_name_list: if not app_name: continue print('加载镜像:{}'.format(app_name[:-4].replace('___', "/").replace("__", ":"))) cmd_res = os.system('docker load -i {}'.format(app_name)) if cmd_res == 1: raise RuntimeError('加载失败') print('镜像加载完毕') print('开始升级程序') with open('docker-compose.yml', 'r') as f: compose_content = f.read() app_list_str = re.findall('# app_list: ".*"', compose_content) if app_list_str: app_list_str = app_list_str[0] else: raise RuntimeError('未设置app_list') app_str = app_list_str[len('# app_list: "'):-1] if app_str == '*': res = os.system('''export HUANSI_REGISTRY_URL=47.110.145.204:8084 &&\ source /etc/profile.d/huansi.sh &&\ docker-compose up -d --force-recreate''') else: res = os.system('''export HUANSI_REGISTRY_URL=47.110.145.204:8084 &&\ source /etc/profile.d/huansi.sh &&\ docker-compose up -d --force-recreate --no-deps {}'''.format(app_str)) if res == 1: raise RuntimeError('程序升级失败')