CN117436681A - 应用部署流程更新方法及装置 - Google Patents

应用部署流程更新方法及装置 Download PDF

Info

Publication number
CN117436681A
CN117436681A CN202310531065.8A CN202310531065A CN117436681A CN 117436681 A CN117436681 A CN 117436681A CN 202310531065 A CN202310531065 A CN 202310531065A CN 117436681 A CN117436681 A CN 117436681A
Authority
CN
China
Prior art keywords
application deployment
deployment flow
flow
identifier
key value
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202310531065.8A
Other languages
English (en)
Inventor
柴龙成
任祖华
姜峰
宁伟
邓维
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Industrial and Commercial Bank of China Ltd ICBC
Original Assignee
Industrial and Commercial Bank of China Ltd ICBC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Industrial and Commercial Bank of China Ltd ICBC filed Critical Industrial and Commercial Bank of China Ltd ICBC
Priority to CN202310531065.8A priority Critical patent/CN117436681A/zh
Publication of CN117436681A publication Critical patent/CN117436681A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0633Workflow analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/22Matching criteria, e.g. proximity measures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Human Resources & Organizations (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Economics (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Data Mining & Analysis (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Artificial Intelligence (AREA)
  • Quality & Reliability (AREA)
  • Operations Research (AREA)
  • Marketing (AREA)
  • Game Theory and Decision Science (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Tourism & Hospitality (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Biology (AREA)
  • Evolutionary Computation (AREA)
  • Educational Administration (AREA)
  • Development Economics (AREA)
  • Stored Programmes (AREA)

Abstract

本发明公开了一种应用部署流程更新方法及装置,涉及应用部署技术领域,进一步涉及金融科技领域,可用于智能投产、智能运维领域;该方法包括:从部署规则表中获取旧应用部署流程标识对应的第一部署规则标识,部署规则表中包括:应用部署流程配置信息模板;将第一部署规则标识关联的旧应用部署流程标识更改为新应用部署流程标识;从旧应用部署流程配置信息模板中提取服务环境标识与发布单元标识构成第一键值对;从新应用部署流程中提取服务环境标识与发布单元标识构成第二键值对;根据第一键值对、第二键值对比对结果,对旧应用部署流程配置信息模板进行更改,得到新应用部署流程配置信息模板。本发明可以提高应用部署流程更新效率。

Description

应用部署流程更新方法及装置
技术领域
本发明涉及应用部署技术领域,尤其涉及应用部署流程更新方法及装置。
背景技术
本部分旨在为权利要求书中陈述的本发明实施例提供背景或上下文。此处的描述不因为包括在本部分中就承认是现有技术。
随着金融科技领域的快速发展,业务需求更新日益加快,研发节奏较快,平台化、分布式架构转型,版本量级不断增大,与应用程序部署发布、资源供给、应用配置等自动化支撑能力不足,成为制约版本运维效率的重要因素。目前金融科技领域仍大多采用版本迭代模式,即有固定的投产日,近年来DevOps流水线在金融行业的普遍应用,通过流水线串接起开发中心、测试中心、生产中心,加速了版本交付的效率。但是金融领域流水线是采取分段建设,开发中心通过流水线交付版本和部署流程之后,会存在频繁变更部署流程的情况,导致版本自动化部署会失败,环境运维人员需要重复配置,无法第一时间部署版本程序,降低了版本运维效率。如何在开发中心部署流程交付后修改并保障自动化部署能够顺利进行,维护测试环境的可测性、稳定性,保障业务测试能够第一时间开展,是目前急需解决的问题。
目前版本程序自动部署的现状是:技术人员首次需要新增部署流程规则设置,之后自动化部署系统可识别到版本程序进行部署,若开发中心交付新的补丁且变更了部署流程,则自动化部署将会停止,无法第一时间进行部署,致使业务测试无法开展,环境稳定性无法保障,在测试周期越来越短的背景下,影响到业务需求正常投入到生产环境。现有的应用部署流程更新效率低,无法满足版本款速更新部署的要求。
发明内容
本发明实施例提供一种应用部署流程更新方法,用以提高应用部署流程更新效率,该方法包括:
接收应用部署流程修改信息;其中,应用部署流程修改信息包括:新应用部署流程、新应用部署流程标识、以及旧应用部署流程标识;
根据旧应用部署流程标识,从部署规则表中获取旧应用部署流程标识对应的第一部署规则标识;其中,部署规则表中包括:应用部署流程配置信息模板;
将第一部署规则标识关联的旧应用部署流程标识,更改为新应用部署流程标识;
根据旧应用部署流程标识,从部署规则表中确定旧应用部署流程配置信息模板;
从旧应用部署流程配置信息模板中提取服务环境标识与发布单元标识,构成第一键值对;
从新应用部署流程中提取服务环境标识与发布单元标识,构成第二键值对;
对第一键值对与第二键值对进行比对,得到比对结果;
根据比对结果,对旧应用部署流程配置信息模板进行更改,得到新应用部署流程配置信息模板。
本发明实施例还提供一种应用部署流程更新装置,用以提高应用部署流程更新效率,该装置包括:
接收模块,用于接收应用部署流程修改信息;其中,应用部署流程修改信息包括:新应用部署流程、新应用部署流程标识、以及旧应用部署流程标识;
第一处理模块,用于根据旧应用部署流程标识,从部署规则表中获取旧应用部署流程标识对应的第一部署规则标识;其中,部署规则表中包括:应用部署流程配置信息模板;
第二处理模块,用于将第一部署规则标识关联的旧应用部署流程标识,更改为新应用部署流程标识;
第三处理模块,用于根据旧应用部署流程标识,从部署规则表中确定旧应用部署流程配置信息模板;
第四处理模块,用于从旧应用部署流程配置信息模板中提取服务环境标识与发布单元标识,构成第一键值对;
第五处理模块,用于从新应用部署流程中提取服务环境标识与发布单元标识,构成第二键值对;
第六处理模块,用于对第一键值对与第二键值对进行比对,得到比对结果;
第七处理模块,同于根据比对结果,对旧应用部署流程配置信息模板进行更改,得到新应用部署流程配置信息模板。
本发明实施例还提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述应用部署流程更新方法。
本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述应用部署流程更新方法。
本发明实施例还提供一种计算机程序产品,所述计算机程序产品包括计算机程序,所述计算机程序被处理器执行时实现上述应用部署流程更新方法。
本发明实施例中,接收应用部署流程修改信息;其中,应用部署流程修改信息包括:新应用部署流程、新应用部署流程标识、以及旧应用部署流程标识;根据旧应用部署流程标识,从部署规则表中获取旧应用部署流程标识对应的第一部署规则标识;其中,部署规则表中包括:应用部署流程配置信息模板;将第一部署规则标识关联的旧应用部署流程标识,更改为新应用部署流程标识;根据旧应用部署流程标识,从部署规则表中确定旧应用部署流程配置信息模板;从旧应用部署流程配置信息模板中提取服务环境标识与发布单元标识,构成第一键值对;从新应用部署流程中提取服务环境标识与发布单元标识,构成第二键值对;对第一键值对与第二键值对进行比对,得到比对结果;根据比对结果,对旧应用部署流程配置信息模板进行更改,得到新应用部署流程配置信息模板。这样,在应用部署流程更新时,无需停止自动化部署,可以直接将旧应用部署流程中需要继续使用的配置信息迁移到新的应用部署流程中,高效快速的完成应用部署流程更新,提高应用部署流程更新效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
图1为为本发明实施例中提供的一种应用部署流程更新方法的流程图;
图2为本发明实施例中提供的一种服务环境部署流程图;
图3为本发明实施例中提供的一种应用部署流程图;
图4为本发明实施例中提供的一种应用部署流程交付过程图;
图5为本发明实施例中提供的一种部署规则图;
图6为本发明实施例中提供的一种部署流程交付通知信息展示图;
图7为本发明实施例中提供的一种部署规则信息图;
图8为本发明实施例中提供的一种用户定义跳过任务节点实例图;
图9为本发明实施例中提供的一种应用部署流程更新装置的示意图;
图10为本发明实施例中提供的一种计算机设备的示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚明白,下面结合附图对本发明实施例做进一步详细说明。在此,本发明的示意性实施例及其说明用于解释本发明,但并不作为对本发明的限定。
本申请技术方案中对数据的获取、存储、使用、处理等均符合法律法规的相关规定。
本文中术语“和/或”,仅仅是描述一种关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中术语“至少一种”表示多种中的任意一种或多种中的至少两种的任意组合,例如,包括A、B、C中的至少一种,可以表示包括从A、B和C构成的集合中选择的任意一个或多个元素。
在本说明书的描述中,所使用的“包含”、“包括”、“具有”、“含有”等,均为开放性的用语,即意指包含但不限于。参考术语“一个实施例”、“一个具体实施例”、“一些实施例”、“例如”等的描述意指结合该实施例或示例描述的具体特征、结构或者特点包含于本申请的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。各实施例中涉及的步骤顺序用于示意性说明本申请的实施,其中的步骤顺序不作限定,可根据需要作适当调整。
经研究发现,随着金融科技领域的快速发展,业务需求更新日益加快,研发节奏较快,平台化、分布式架构转型,版本量级不断增大,与应用程序部署发布、资源供给、应用配置等自动化支撑能力不足,成为制约版本运维效率的重要因素。目前金融科技领域仍大多采用版本迭代模式,即有固定的投产日,近年来DevOps流水线在金融行业的普遍应用,通过流水线串接起开发中心、测试中心、生产中心,加速了版本交付的效率。但是金融领域流水线是采取分段建设,开发中心通过流水线交付版本和部署流程之后,会存在频繁变更部署流程的情况,导致版本自动化部署会失败,环境运维人员需要重复配置,无法第一时间部署版本程序,降低了版本运维效率。如何在开发中心部署流程交付后修改并保障自动化部署能够顺利进行,维护测试环境的可测性、稳定性,保障业务测试能够第一时间开展,是目前急需解决的问题。
目前版本程序自动部署的现状是:技术人员首次需要新增部署流程规则设置,之后自动化部署系统可识别到版本程序进行部署,若开发中心交付新的补丁且变更了部署流程,则自动化部署将会停止,无法第一时间进行部署,致使业务测试无法开展,环境稳定性无法保障,在测试周期越来越短的背景下,影响到业务需求正常投入到生产环境。现有的应用部署流程更新效率低,无法满足版本款速更新部署的要求。
针对上述研究,如图1所示,本发明实施例提供一种应用部署流程更新方法,包括:
S101:接收应用部署流程修改信息;其中,应用部署流程修改信息包括:新应用部署流程、新应用部署流程标识、以及旧应用部署流程标识;
S102:根据旧应用部署流程标识,从部署规则表中获取旧应用部署流程标识对应的第一部署规则标识;其中,部署规则表中包括:应用部署流程配置信息模板;
S103:将第一部署规则标识关联的旧应用部署流程标识,更改为新应用部署流程标识;
S104:根据旧应用部署流程标识,从部署规则表中确定旧应用部署流程配置信息模板;
S105:从旧应用部署流程配置信息模板中提取服务环境标识与发布单元标识,构成第一键值对;
S106:从新应用部署流程中提取服务环境标识与发布单元标识,构成第二键值对;
S107:对第一键值对与第二键值对进行比对,得到比对结果;
S108:根据比对结果,对旧应用部署流程配置信息模板进行更改,得到新应用部署流程配置信息模板。
本发明实施例中,接收应用部署流程修改信息;其中,应用部署流程修改信息包括:新应用部署流程、新应用部署流程标识、以及旧应用部署流程标识;根据旧应用部署流程标识,从部署规则表中获取旧应用部署流程标识对应的第一部署规则标识;其中,部署规则表中包括:应用部署流程配置信息模板;将第一部署规则标识关联的旧应用部署流程标识,更改为新应用部署流程标识;根据旧应用部署流程标识,从部署规则表中确定旧应用部署流程配置信息模板;从旧应用部署流程配置信息模板中提取服务环境标识与发布单元标识,构成第一键值对;从新应用部署流程中提取服务环境标识与发布单元标识,构成第二键值对;对第一键值对与第二键值对进行比对,得到比对结果;根据比对结果,对旧应用部署流程配置信息模板进行更改,得到新应用部署流程配置信息模板。这样,在应用部署流程更新时,无需停止自动化部署,可以直接将旧应用部署流程中需要继续使用的配置信息迁移到新的应用部署流程中,高效快速的完成应用部署流程更新,提高应用部署流程更新效率。
下面对上述应用部署流程更新方法加以详细说明。
针对上述S101,应用部署流程对应多套环境的部署流程,由各服务环境流程组成。
本发明实施例所述的环境例如包括根据不同地域划分出的环境,例如将A地区划分为一个环境、B地区划分为一个环境。
而本发明实施例所述的服务环境流程是指一个服务环境的部署流程,由各流水线部署组件组成。其中,服务环境是物理应用内部根据具体的服务群组、服务对象、服务水平和技术特征不同而做的进一步拆分,是一个需独立部署和独立提供服务的最小运维单元,其架构应遵循或继承应用逻辑及部署架构。服务环境的核心目标是为规范化一套程序多处部署的模式(投产流程的复用)。它是对服务群组在部署层面的实例化。
应用部署流程从创建到使用包括下述过程1~6:
过程1:开发创建应用部署流程。开发环境流水线引擎根据组件类型和定义的内容,创建出应用部署流程。应用部署流程由服务环境部署流程组成。例如图2、图3所示,开发根据应用安装需要制定服务环境部署流程,并将各服务环境部署流程串联为应用部署流程。涉及数据库表例如包括:
①:应用部署流程表,该表关键字段包含“应用部署流程id”,“应用id”,“交付时间”等。
②:服务环境部署流程表,该表关键字段包含“服务环境部署流程id”,“服务环境部署流程名称”,“服务环境id”,“所属应用部署流程id”等。
③:流水线任务表,该表关键字段包含“流水线任务id”,“服务环境部署流程id”,“任务名称”,“任务组件id”,“任务变量yml”等。
⑥:流水线任务组件表,该表关键字段包含“流水线任务组件id”等。
过程2:交付应用部署流程。提取应用部署流程组件、图形、配置信息,通过接口调用方式,调用测试环境流水线引擎创建部署流程接口,创建出同开发环境完全一致的部署流程。通过参数化方式,传递部署流程图内各组件结构、图形、坐标信息,交付部署流程至目标环境。目标环境根据参数信息,对部署流程进行创建,一致的效果。例如图4所示,应用部署流程通过接口传递应用部署流程图像、组件、配置信息,在业研中心、自部署环境、生产中心创建一致的部署流程。涉及数据库表如下:
①:应用部署流程节点表,该表关键字包含“节点id”,“所属部署流程id”,“下辖流水线id”,“X坐标”,“Y坐标”等。
②:应用部署流程连线表,该表关键字包括“连线id”,“起始节点id”,“结束节点id”,“连线形状”等。
过程3:测试环境部署流程配置保存。测试环境部署流程使用时,创建部署规则,关联部署流程,定义的配置,全量信息进行保存为模板,关联部署流程主键。例如图5所示,测试环境通过部署规则,对应用部署流程进行定义,设置跳过执行标准化金融生态云外高桥环境的服务环境流水线,保存后,将定义后的配置进行复制为模板,保存,还原旧应用部署流程。涉及数据库表如下:
①:部署规则表,该表关键字段包含“部署规则id”,“中心类型”,“引用应用部署流程id”,“引用应用部署流程名称”,“应用部署流程配置模板json”等。
过程4:修改应用部署流程通知。在开发环境修改应用部署流程,重新交付后,会进行应用部署流程修改通知。通知内容包括应用名称、新应用部署流程名称、旧应用部署流程名称。如图6所示,开发交付修改应用部署流程后,交付新应用部署流程。测试环境接收通知,【F-VCDS_正常投产_正式_更新开发中心金融生态云服务】修改为【F-VCDS_正常投产_正式_更新开发中心金融生态云服务V2】。涉及数据库表如下:
①:交付信息表,该表关键字段包含“应用部署流程名称”“应用部署流程id”,“交付类型”,“应用id”,“消息读取状态”,“旧部署流程名称”,“旧部署流程id”,“调整原因”等。
过程5:部署流程替换。
具体的,应用部署流程从创建到使用过程中会存在更新的问题,也即开发人员会根据实际需求创建新应用部署流程,此时在部署过程中就需要完成新应用部署流程和旧应用部署流程的替换(即应用部署流程更新),例如图7所示,测试环境原部署规则,自动替换旧应用部署流程为【F-VCDS_正常投产_正式_更新开发中心金融生态云服务V2】。
过程6:执行安装部署。替换部署规则引用的应用部署流程,对应用部署流程模板进行实例化,进行应用版本安装。例如图8所示,通过对比,旧应用部署流程【F-VCDS_正常投产_正式_更新开发中心金融生态云服务】中标准化金融生态云外高桥环境中部署控制、部署总控发布单元配置了跳过,定位新应用部署流程【F-VCDS_正常投产_正式_更新开发中心金融生态云服务V2】,存在对应服务环境和发布单元,将原配置复制至对应组件,配置跳过。保存新应用部署流程配置信息模板至数据库。涉及数据库表如下:
①:应用部署流程实例表,该表关键字段包含“应用部署流程实例id”,“应用id”等。
在上述过程1~过程6中,会涉及到应用部署流程的更新,本发明实施例提供一种高效的应用部署流程更新方法。具体的,在应用部署流程更新时,开发人员创建好新应用部署流程时,会发送应用部署流程修改信息,接收应用部署流程修改信息;其中,应用部署流程修改信息例如包括:新应用部署流程、新应用部署流程标识、以及旧应用部署流程标识。
其中,新应用部署流程标识例如包括:新应用部署流程名称、新应用部署流程ID,旧应用部署流程标识例如包括:旧应用部署流程名称、旧应用部署流程ID。应用部署流程名称例如包括方便用户阅读理解形成的规范文字的标识,应用部署流程ID例如包括以编码形式表达的标识。
针对上述S102,部署规则表中例如包括:多个部署规则;每个部署规则中包括:部署规则标识与应用部署流程标识之间的关联关系、应用部署流程配置信息模板。
其中,应用部署流程配置信息模板中例如包括:旧应用部署流程、以及配置在旧应用部署流程中的自定义配置信息,此外部署规则中例如还包括针对每个应用部署流程都通用的通用配置信息。
此外,为了避免不同的旧应用部署流程标识重复无法区分,本发明一实施例中,应用部署流程修改信息还包括应用标识,部署规则中还包括:应用标识与部署规则标识之间的关联关系;在根据旧应用部署流程标识,从部署规则表中获取旧应用部署流程标识对应的第一部署规则标识时,例如可以进一步根据应用标识+旧应用部署流程标识的方式,从部署规则表中确定出旧应用部署流程标识和应用标识都对应的第一部署规则标识。
针对上述S103,在确定出第一部署规则标识后,将第一部署规则标识关联的旧应用部署流程标识,更改为新应用部署流程标识,以供第一部署规则标识对应的部署规则引用新应用部署流程。
针对上述S104,根据旧应用部署流程标识,从部署规则表中确定旧应用部署流程配置信息模板,例如包括:根据旧应用部署流程标识、以及部署规则表中,部署规则标识与应用部署流程标识之间的关联关系,确定旧应用部署流程标识对应的部署规则;从旧应用部署流程标识对应的部署规则中确定旧应用部署流程配置信息模板。
针对上述S105~S106,本发明一实施例中,从旧应用部署流程配置信息模板中提取服务环境标识与发布单元标识,构成第一键值对,例如包括:提取旧应用部署流程配置信息模板中每一第一服务环境标识对应的发布单元标识清单,将每一第一服务环境作为键,每一第一服务环境对应的发布单元标识清单作为值,生成每一第一服务环境标识对应第一键值对;从新应用部署流程中提取服务环境标识与发布单元标识,构成第二键值对,例如包括:提取新应用部署流程中每一第二服务环境标识对应的发布单元标识清单,将每一第二服务环境作为键,每一第二服务环境对应的发布单元标识清单作为值,生成每一第二服务环境标识对应第二键值对。
具体的,本发明一实施例中,提取旧应用部署流程配置信息模板中每一第一服务环境标识对应的发布单元标识清单,包括:通过遍历旧应用部署流程配置信息模板中的节点清单,获取每一节点的流水线清单;从流水线清单中获取每一流水线对应的第一服务环境标识;通过遍历每一流水线中的任务节点清单,获取各任务节点的流水线任务;解析流水线任务中的任务变量yml,得到流水线任务的发布单元标识;根据每一流水线对应的第一服务环境标识、每一流水线对应的任务节点清单、以及每一任务节点的流水线任务、以及每一流水线任务的发布单元标识,得到每一第一服务环境标识对应的发布单元标识清单。
例如,解析部署规则表中,该部署规则“应用部署流程配置信息模板json”属性,通过遍历json中nodeList(节点清单),获取所有node的flowList(流水线清单)属性,从flow中获取“serviceEnvironmentId”(服务环境id)属性,根据服务环境id,查询服务环境表得到旧应用部署流程的所有“服务环境名称”。通过遍历flow中jobNodeList(任务节点清单),获取各jobNode的flowjob(流水线任务),解析flowjob中的jobParamYml(任务变量yml),得到该流水线任务的全部定义信息,包括“发布单元id”、“服务节点id”。将以上服务环境、发布单元保存为旧部署流程Map{key:服务环境id,value:[发布单元idList]}。同上方法,获取新部署流程中的服务环境名称,“任务变量yml”获取新部署流程发布单元信息,保存为新部署流程Map{key:服务环境id,value:[发布单元idList]}。
本发明实施例所述的发布单元是构建、部署的最小单元,一个代码库只能构建出一个发布单元,一个发布单元只能部署到一个应用服务节点上,它有自己的独立的源代码仓库。发布单元需在生产部署上线或在MAVEN仓库中发布。
针对上述S107,对第一键值对与第二键值对进行比对,得到比对结果,例如包括:比对每一个第一键值对和每一个第二键值对的键和值,将键和值都相同的第一键值对、第二键值标记为相同键值对;将键和/或值不相同的第一键值对、第二键值对标记为不同键值对;根据相同键值对、不同键值对得到比对结果。
例如,对比新、旧应用部署流程,遍历新应用部署流程Map中的key,查询旧应用部署流程中是否有相同key值,若不存在,则新应用部署流程中存在新增服务环境部署流程。若存在,新应用部署流程中key对应的发布单元idList,是否存在于旧应用部署流程中对应的发布单元idList,不存在则新应用部署流程中存在新增组件,若存在则该服务环境部署流程与旧服务环境部署流程一致。
针对上述S108,根据比对结果,对旧应用部署流程配置信息模板进行更改,得到新应用部署流程配置信息模板,例如包括:将相同键值对中第一键值对在旧应用部署流程配置信息模板中对应的配置信息,配置在新应用部署流程中,将配置好的新应用部署流程写入旧应用部署流程配置信息模板中;将不同键值对中第一键值在旧应用部署流程配置信息模板中对应的配置信息删除,得到新应用部署流程配置信息模板。
此外,本发明另一实施例中,新应用部署流程存在新增组件,新增组件使用交付时默认配置,关闭定时自动部署,等待用户重新配置并执行部署后打开定时自动部署。
本发明另一实施例中,新应用部署流程存在新增服务环境部署流程,新增服务环境部署流程内组件使用交付时默认配置,关闭定时自动部署,等待用户重新配置并执行部署后打开定时自动部署。
此外,为了进一步提高数据获取效率,本发明一实施例中,在本次的应用部署流程更新完后或者从新应用部署流程中提取服务环境标识与发布单元标识,构成第二键值对后,还包括:将本次的新应用部署流程标识、以及本次的新应用部署流程对应的第二键值对存储至Redis数据库中。
这样,下次接收到新的应用部署流程修改信息,且新的应用部署流程修改信息中包括的旧应用部署流程标识为本次的新应用部署流程标识时,从Redis数据库中直接获取本次的新应用部署流程标识对应的第二键值对,作为新应用部署流程修改信息对应的应用部署流程更新方法中的第一键值对。无需重复的再次从本次的新应用部署流程中提取第二键值对作为下次更新时的第一键值对,可以直接从Redis数据库中获取,提高数据获取效率,进而提高应用部署流程更新效率。
本发明实施例中还提供了一种应用部署流程更新装置,如下面的实施例所述。由于该装置解决问题的原理与应用部署流程更新方法相似,因此该装置的实施可以参见应用部署流程更新方法的实施,重复之处不再赘述。
如图9所示,为本发明实施例提供的一种应用部署流程更新装置示意图,包括:
接收模块901,用于接收应用部署流程修改信息;其中,应用部署流程修改信息包括:新应用部署流程、新应用部署流程标识、以及旧应用部署流程标识;
第一处理模块902,用于根据旧应用部署流程标识,从部署规则表中获取旧应用部署流程标识对应的第一部署规则标识;其中,部署规则表中包括:应用部署流程配置信息模板;
第二处理模块903,用于将第一部署规则标识关联的旧应用部署流程标识,更改为新应用部署流程标识;
第三处理模块904,用于根据旧应用部署流程标识,从部署规则表中确定旧应用部署流程配置信息模板;
第四处理模块905,用于从旧应用部署流程配置信息模板中提取服务环境标识与发布单元标识,构成第一键值对;
第五处理模块906,用于从新应用部署流程中提取服务环境标识与发布单元标识,构成第二键值对;
第六处理模块907,用于对第一键值对与第二键值对进行比对,得到比对结果;
第七处理模块908,用于根据比对结果,对旧应用部署流程配置信息模板进行更改,得到新应用部署流程配置信息模板。
在一种可能的实施方式中,部署规则表中包括:多个部署规则;每个部署规则中包括:部署规则标识与应用部署流程标识之间的关联关系、应用部署流程配置信息模板;第三处理模块,具体用于根据旧应用部署流程标识、以及部署规则表中,部署规则标识与应用部署流程标识之间的关联关系,确定旧应用部署流程标识对应的部署规则;从旧应用部署流程标识对应的部署规则中确定旧应用部署流程配置信息模板。
在一种可能的实施方式中,第四处理模块,具体用于提取旧应用部署流程配置信息模板中每一第一服务环境标识对应的发布单元标识清单,将每一第一服务环境作为键,每一第一服务环境对应的发布单元标识清单作为值,生成每一第一服务环境标识对应第一键值对;第五处理模块,具体用于提取新应用部署流程中每一第二服务环境标识对应的发布单元标识清单,将每一第二服务环境作为键,每一第二服务环境对应的发布单元标识清单作为值,生成每一第二服务环境标识对应第二键值对。
在一种可能的实施方式中,第四处理模块,具体用于通过遍历旧应用部署流程配置信息模板中的节点清单,获取每一节点的流水线清单;从流水线清单中获取每一流水线对应的第一服务环境标识;通过遍历每一流水线中的任务节点清单,获取各任务节点的流水线任务;解析流水线任务中的任务变量yml,得到流水线任务的发布单元标识;根据每一流水线对应的第一服务环境标识、每一流水线对应的任务节点清单、以及每一任务节点的流水线任务、以及每一流水线任务的发布单元标识,得到每一第一服务环境标识对应的发布单元标识清单。
在一种可能的实施方式中,第六处理模块,具体用于比对每一个第一键值对和每一个第二键值对的键和值,将键和值都相同的第一键值对、第二键值标记为相同键值对;将键和/或值不相同的第一键值对、第二键值对标记为不同键值对;根据相同键值对、不同键值对得到比对结果。
在一种可能的实施方式中,第七处理模块,具体用于将相同键值对中第一键值对在旧应用部署流程配置信息模板中对应的配置信息,配置在新应用部署流程中,将配置好的新应用部署流程写入旧应用部署流程配置信息模板中;将不同键值对中第一键值在旧应用部署流程配置信息模板中对应的配置信息删除,得到新应用部署流程配置信息模板。
在一种可能的实施方式中,还包括:第八处理模块,用于将本次的新应用部署流程标识、以及本次的新应用部署流程对应的第二键值对存储至Redis数据库中;以供下次接收到新的应用部署流程修改信息,且新的应用部署流程修改信息中包括的旧应用部署流程标识为本次的新应用部署流程标识时,从Redis数据库中直接获取本次的新应用部署流程标识对应的第二键值对,作为新应用部署流程修改信息对应的应用部署流程更新方法中的第一键值对。
本发明实施例还提供一种计算机设备,图10为本发明实施例中计算机设备的示意图,所述计算机设备1000包括存储器1010、处理器1020及存储在存储器1010上并可在处理器1020上运行的计算机程序1030,所述处理器1020执行所述计算机程序1030时实现上述应用部署流程更新方法。
本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述应用部署流程更新方法。
本发明实施例还提供一种计算机程序产品,所述计算机程序产品包括计算机程序,所述计算机程序被处理器执行时实现上述应用部署流程更新方法。
本发明实施例中,接收应用部署流程修改信息;其中,应用部署流程修改信息包括:新应用部署流程、新应用部署流程标识、以及旧应用部署流程标识;根据旧应用部署流程标识,从部署规则表中获取旧应用部署流程标识对应的第一部署规则标识;其中,部署规则表中包括:应用部署流程配置信息模板;将第一部署规则标识关联的旧应用部署流程标识,更改为新应用部署流程标识;根据旧应用部署流程标识,从部署规则表中确定旧应用部署流程配置信息模板;从旧应用部署流程配置信息模板中提取服务环境标识与发布单元标识,构成第一键值对;从新应用部署流程中提取服务环境标识与发布单元标识,构成第二键值对;对第一键值对与第二键值对进行比对,得到比对结果;根据比对结果,对旧应用部署流程配置信息模板进行更改,得到新应用部署流程配置信息模板。这样,在应用部署流程更新时,无需停止自动化部署,可以直接将旧应用部署流程中需要继续使用的配置信息迁移到新的应用部署流程中,高效快速的完成应用部署流程更新,提高应用部署流程更新效率。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (11)

1.一种应用部署流程更新方法,其特征在于,包括:
接收应用部署流程修改信息;其中,应用部署流程修改信息包括:新应用部署流程、新应用部署流程标识、以及旧应用部署流程标识;
根据旧应用部署流程标识,从部署规则表中获取旧应用部署流程标识对应的第一部署规则标识;其中,部署规则表中包括:应用部署流程配置信息模板;
将第一部署规则标识关联的旧应用部署流程标识,更改为新应用部署流程标识;
根据旧应用部署流程标识,从部署规则表中确定旧应用部署流程配置信息模板;
从旧应用部署流程配置信息模板中提取服务环境标识与发布单元标识,构成第一键值对;
从新应用部署流程中提取服务环境标识与发布单元标识,构成第二键值对;
对第一键值对与第二键值对进行比对,得到比对结果;
根据比对结果,对旧应用部署流程配置信息模板进行更改,得到新应用部署流程配置信息模板。
2.如权利要求1所述的应用部署流程更新方法,其特征在于,部署规则表中包括:多个部署规则;每个部署规则中包括:部署规则标识与应用部署流程标识之间的关联关系、应用部署流程配置信息模板;
根据旧应用部署流程标识,从部署规则表中确定旧应用部署流程配置信息模板,包括:
根据旧应用部署流程标识、以及部署规则表中部署规则标识与应用部署流程标识之间的关联关系,确定旧应用部署流程标识对应的部署规则;
从旧应用部署流程标识对应的部署规则中确定旧应用部署流程配置信息模板。
3.如权利要求1所述的应用部署流程更新方法,其特征在于,从旧应用部署流程配置信息模板中提取服务环境标识与发布单元标识,构成第一键值对,包括:
提取旧应用部署流程配置信息模板中每一第一服务环境标识对应的发布单元标识清单,将每一第一服务环境作为键,每一第一服务环境对应的发布单元标识清单作为值,生成每一第一服务环境标识对应第一键值对;
从新应用部署流程中提取服务环境标识与发布单元标识,构成第二键值对,包括:
提取新应用部署流程中每一第二服务环境标识对应的发布单元标识清单,将每一第二服务环境作为键,每一第二服务环境对应的发布单元标识清单作为值,生成每一第二服务环境标识对应第二键值对。
4.如权利要求3所述的应用部署流程更新方法,其特征在于,提取旧应用部署流程配置信息模板中每一第一服务环境标识对应的发布单元标识清单,包括:
通过遍历旧应用部署流程配置信息模板中的节点清单,获取每一节点的流水线清单;
从流水线清单中获取每一流水线对应的第一服务环境标识;
通过遍历每一流水线中的任务节点清单,获取各任务节点的流水线任务;
解析流水线任务中的任务变量yml,得到流水线任务的发布单元标识;
根据每一流水线对应的第一服务环境标识、每一流水线对应的任务节点清单、以及每一任务节点的流水线任务、以及每一流水线任务的发布单元标识,得到每一第一服务环境标识对应的发布单元标识清单。
5.如权利要求1所述的应用部署流程更新方法,其特征在于,对第一键值对与第二键值对进行比对,得到比对结果,包括:
比对每一个第一键值对和每一个第二键值对的键和值,将键和值都相同的第一键值对、第二键值标记为相同键值对;
将键和/或值不相同的第一键值对、第二键值对标记为不同键值对;
根据相同键值对、不同键值对得到比对结果。
6.如权利要求5所述的应用部署流程更新方法,其特征在于,根据比对结果,对旧应用部署流程配置信息模板进行更改,得到新应用部署流程配置信息模板,包括:
将相同键值对中第一键值对在旧应用部署流程配置信息模板中对应的配置信息,配置在新应用部署流程中,将配置好的新应用部署流程写入旧应用部署流程配置信息模板中;
将不同键值对中第一键值在旧应用部署流程配置信息模板中对应的配置信息删除,得到新应用部署流程配置信息模板。
7.如权利要求5所述的应用部署流程更新方法,其特征在于,还包括:
将本次的新应用部署流程标识、以及本次的新应用部署流程对应的第二键值对存储至Redis数据库中;
以供下次接收到新的应用部署流程修改信息,且新的应用部署流程修改信息中包括的旧应用部署流程标识为本次的新应用部署流程标识时,从Redis数据库中直接获取本次的新应用部署流程标识对应的第二键值对,作为新应用部署流程修改信息对应的应用部署流程更新方法中的第一键值对。
8.一种应用部署流程更新装置,其特征在于,包括:
接收模块,用于接收应用部署流程修改信息;其中,应用部署流程修改信息包括:新应用部署流程、新应用部署流程标识、以及旧应用部署流程标识;
第一处理模块,用于根据旧应用部署流程标识,从部署规则表中获取旧应用部署流程标识对应的第一部署规则标识;其中,部署规则表中包括:应用部署流程配置信息模板;
第二处理模块,用于将第一部署规则标识关联的旧应用部署流程标识,更改为新应用部署流程标识;
第三处理模块,用于根据旧应用部署流程标识,从部署规则表中确定旧应用部署流程配置信息模板;
第四处理模块,用于从旧应用部署流程配置信息模板中提取服务环境标识与发布单元标识,构成第一键值对;
第五处理模块,用于从新应用部署流程中提取服务环境标识与发布单元标识,构成第二键值对;
第六处理模块,用于对第一键值对与第二键值对进行比对,得到比对结果;
第七处理模块,同于根据比对结果,对旧应用部署流程配置信息模板进行更改,得到新应用部署流程配置信息模板。
9.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7任一所述方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1至7任一所述方法。
11.一种计算机程序产品,其特征在于,所述计算机程序产品包括计算机程序,所述计算机程序被处理器执行时实现权利要求1至7任一所述方法。
CN202310531065.8A 2023-05-11 2023-05-11 应用部署流程更新方法及装置 Pending CN117436681A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310531065.8A CN117436681A (zh) 2023-05-11 2023-05-11 应用部署流程更新方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310531065.8A CN117436681A (zh) 2023-05-11 2023-05-11 应用部署流程更新方法及装置

Publications (1)

Publication Number Publication Date
CN117436681A true CN117436681A (zh) 2024-01-23

Family

ID=89550403

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310531065.8A Pending CN117436681A (zh) 2023-05-11 2023-05-11 应用部署流程更新方法及装置

Country Status (1)

Country Link
CN (1) CN117436681A (zh)

Similar Documents

Publication Publication Date Title
EP1582985B1 (en) Test case inheritance controlled via attributes
CN108319460B (zh) 应用程序安装包的生成方法、装置、电子设备及存储介质
US20030120678A1 (en) Prototyping model for components of a software program
US20110270838A1 (en) Updating groups of items
US20030120688A1 (en) Versioning model for software program development
US20080276221A1 (en) Method and apparatus for relations planning and validation
CN109117164A (zh) 基于关键元素差异性分析的微服务更新方法及系统
CN111722598B (zh) 一种用于工业过程的模块工程化的系统和方法
Graham et al. A software design and evaluation system
JPH10254689A (ja) クライアント・サーバシステムのアプリケーション構成設計支援方式
CN111580409B (zh) 面向实时嵌入式系统的故障仿真测试方法
CN111459830B (zh) 测试案例生成方法及装置
CN110633084B (zh) 基于单个样例的代码转换推导方法和装置
CN117436681A (zh) 应用部署流程更新方法及装置
CN111722597B (zh) 准备用于工业控制系统的工程数据的方法和系统
KR20090099977A (ko) 예약된 컴포넌트 컨테이너 기반 소프트웨어 개발 방법 및장치
CN104881455B (zh) 一种基于mysql的结构差异处理方法及系统
US10657476B2 (en) Just in time compilation (JIT) for business process execution
CN109299004B (zh) 关键元素差异性分析方法及系统
US20210021464A1 (en) Generating application-server provisioning configurations
JPH07114464A (ja) オブジェクト指向データ処理システム
CN114780061B (zh) 支持a-spice标准基于容器化对象的系统设计方法
KR102545640B1 (ko) 철도차량 시스템의 소프트웨어 개발 시스템 및 방법
JPH1063494A (ja) プログラム部品利用支援システム
US20220207438A1 (en) Automatic creation and execution of a test harness for workflows

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination