Пример #1
0
def main(flow_id):
    print('[INFO]: 这部分是将代码正式下发/同步到你的代码目录')
    data = get_publish_data(flow_id)  # 获取发布信息
    obj = DeployCode(data)
    all_hosts = get_all_hosts(flow_id)
    exec_thread(func=obj.code_deploy, iterable1=all_hosts)
    obj.check_err()
Пример #2
0
def main(flow_id):
    print('[INFO]: 这部分是备份你目标主机的代码,只保留一天备份,若不需要可以跳过此步骤')
    data = get_publish_data(flow_id)  # 获取发布信息
    obj = BackupCode(data)
    all_hosts = get_all_hosts(flow_id)
    exec_thread(func=obj.code_backup, iterable1=all_hosts)
    obj.check_err()
Пример #3
0
def main(flow_id, git_tag):
    """
    :param flow_id: 订单ID
    :param git_tag: Git Tag名字
    :return:
    """
    print('[INFO]: 这部分是用来在构建机器上拉取代码,切换Tag操作')
    data = get_publish_data(flow_id)  # 配置信息
    obj = PullCode(data)  # 初始化类
    obj.git_clone()  # 克隆代码
    obj.checkout_tag(git_tag)  # 切换Tag
Пример #4
0
def main(flow_id, git_tag):
    """
    :param flow_id: 订单ID
    :param git_tag: Git Tag名字
    :return:
    """
    print('[INFO]: 这部分是用来在编译镜像,并且上传docker仓库')
    data = get_publish_data(flow_id)  # 配置信息
    obj = BuildImage(data, git_tag)  # 初始化类
    obj.build_image()  # 编译镜像
    obj.push_image()  # 上传镜像
Пример #5
0
def main(flow_id, git_tag):
    """
    :param flow_id: 订单ID
    :param git_tag: Git Tag名字
    :return:
    """
    print('[INFO]: 这部分是用来在编译镜像,并且上传docker仓库')
    data = get_publish_data(flow_id)  # 配置信息
    obj = Deploy(data, git_tag)  # 初始化类
    obj.run()  # 滚动升级
    obj.check()  # 检查POD状态
Пример #6
0
def main(flow_id):
    """
    01. 处理exclude文件
    02. 获取所有主机信息
    03. 并发代码到目的主机/tmp
    :return:
    """
    print('[INFO]: 这部分是处理exclude 将过滤后的代码并发到你的目标主机/tmp下,等待你的部署,如果rsync同步失败请确认服务器和目标主机都有rsync命令')
    data = get_publish_data(flow_id)  # 获取发布信息
    exclude_file = get_exclude_file(data)  # 过滤文件名称
    obj = UploadCode(data)
    obj.code_process(exclude_file)  # 处理代码,如:exclude操作
    all_hosts = get_all_hosts(flow_id)
    exec_thread(func=obj.rsync_tmp, iterable1=all_hosts)
    obj.delete_tmp()
    obj.check_err()