Пример #1
0
def get_config_file():
    return common_service.query(monitoring__config_file_co)
Пример #2
0
def get():
    return common_service.query(asset_manage__deploy_server__jenkins_co)
Пример #3
0
def rollback_project_deploy():
    try:
        request_data = common_service.check_request_dat_not_null(
            ["process_instance_id"])
        process_instance_id = request_data["process_instance_id"]
        # 查询对应流程id的执行内容
        db_res_data = json.loads(
            dumps(
                project_manage__work_order_process__run_manage_process_process_project_rb_co
                .find_one(filter={'process_id': process_instance_id})))
        project_type = db_res_data["project_type"]
        deploy_env = db_res_data["deploy_env"]

        if "java" == project_type:
            data_namespace = db_res_data["data_namespace"]
            data_image_id = db_res_data["data_image_id"]
            deploy_name = db_res_data["deploy_name"]
            asset_manage__deploy_server__k8s_co_one = \
                json.loads(common_service.query(asset_manage__deploy_server__k8s_co))[
                    0]
            data_k8s = asset_manage__deploy_server__k8s_co_one["k8s"]
            data_k8s_env = data_k8s[deploy_env]
            data_k8s_host = data_k8s_env["host"]
            data_k8s_token = data_k8s_env["token"]
            my_k8s = MyK8s(data_k8s_host, data_k8s_token)
            project_manage__work_order_process__run_manage_result_log_co.insert_one(
                {
                    "process_id": process_instance_id,
                    "log": "开始回滚部署<br/>" + data_image_id + "<br/>",
                    "is_exe_success": True,
                })
            my_k8s.update_image(data_namespace, deploy_name, data_image_id)
        else:
            project = db_res_data["project"]
            revision = db_res_data["revision"]
            jenkins_data = json.loads(jenkins.get_decrypt())[0]["jenkins"]
            projects = json.loads(template.get(
            ))[0]["template"][project_type][deploy_env]["projects"]
            project_template_data = projects[project]
            build_info = project_template_data["build_env"]
            build_info_host = build_info["host"]
            build_info_job_name = build_info["job_name"]
            cur_jenkins = jenkins_data[build_info_host]
            cur_jenkins_url = cur_jenkins["url"]
            cur_jenkins_username = cur_jenkins["username"]
            cur_jenkins_password = cur_jenkins["password"]
            my_jenkins = MyJenkins(cur_jenkins_url, cur_jenkins_username,
                                   cur_jenkins_password)
            project_manage__work_order_process__run_manage_result_log_co.insert_one(
                {
                    "process_id": process_instance_id,
                    "log": "开始回滚部署<br/>" + str(revision) + "<br/>",
                    "is_exe_success": True,
                })
            my_jenkins.build_job(build_info_job_name, {"ROLLBACK": revision},
                                 False)

        project_manage__work_order_process__run_manage_result_log_co.insert_one(
            {
                "process_id": process_instance_id,
                "log": "回滚成功",
                "is_exe_success": True,
            })
        return {}
    except MyServiceException as e:
        print(e)
        project_manage__work_order_process__run_manage_result_log_co.insert_one(
            {
                "process_id": process_instance_id,
                "log": "回滚失败,原因:%s" % str(e),
                "is_exe_success": False,
            })
        return ResResult.return500(str(e))
Пример #4
0
def get():
    return common_service.query(monitoring__config_co)
Пример #5
0
def get():
    data_obj = common_service.query(asset_manage__code_server__svn_co)
    return data_obj
Пример #6
0
def deploy_java(request_data):
    process_id = request_data["process_id"]
    project_type = request_data["project_type"]
    deploy_env = request_data["deploy_env"]
    data_namespace = request_data["namespace"]
    data_image_id = request_data["image_id"]
    deploy_name = request_data["deploy_name"]

    # 转换项目名为部署名
    project_manage__work_order_process__run_manage_result_log_co.insert_one({
        "process_id":
        process_id,
        "log":
        "开始部署",
        "is_exe_success":
        True,
    })
    # 获取k8s连接信息
    asset_manage__deploy_server__k8s_co_one = json.loads(
        common_service.query(asset_manage__deploy_server__k8s_co))[0]
    data_k8s = asset_manage__deploy_server__k8s_co_one["k8s"]
    data_k8s_env = data_k8s[deploy_env]
    data_k8s_host = data_k8s_env["host"]
    data_k8s_token = data_k8s_env["token"]

    # 更新k8s镜像
    try:
        my_k8s = MyK8s(data_k8s_host, data_k8s_token)
        cur_image_id = my_k8s.get_cur_image_id(data_namespace, deploy_name)
        # 生成回滚
        # 查询k8s当前镜像版本
        project_manage__work_order_process__run_manage_process_process_project_rb_co.insert_one(
            {
                "process_id": process_id,
                "project_type": project_type,
                "deploy_env": deploy_env,
                "data_namespace": data_namespace,
                "data_image_id": cur_image_id,
                "deploy_name": deploy_name,
            })
        project_manage__work_order_process__run_manage_result_log_co.insert_one(
            {
                "process_id": process_id,
                "log": "已经为回滚做好准备",
                "is_exe_success": True,
            })
        my_k8s.update_image(data_namespace, deploy_name, data_image_id)
        project_manage__work_order_process__run_manage_result_log_co.insert_one(
            {
                "process_id": process_id,
                "log": "部署成功",
                "is_exe_success": True,
            })
        run_manage.upgrade_process_service_invoke_status(process_id, True)
    except Exception as e:
        print(e)
        project_manage__work_order_process__run_manage_result_log_co.insert_one(
            {
                "process_id": process_id,
                "log": "部署失败" + str(e),
                "is_exe_success": True,
            })
        run_manage.upgrade_process_service_invoke_status(process_id, False)
        raise e
Пример #7
0
def get():
    return common_service.query(asset_manage__db_manage__oracle_co)
Пример #8
0
def get():
    return common_service.query(project_manage__deploy_server__template_co)
def get():
    return common_service.query(
        project_manage__schedule__schedule_server_config_co)
Пример #10
0
def get():
    return common_service.query(
        asset_manage__deploy_server__project_composition_co)
Пример #11
0
def get():
    return common_service.query(asset_manage__server_manage_co)
Пример #12
0
def get():
    return common_service.query(
        project_manage__work_order_process__process_template_co)
Пример #13
0
def get():
    return common_service.query(alarm__config_co)