CN115390861A - 资源部署方法、装置及设备和存储介质 - Google Patents
资源部署方法、装置及设备和存储介质 Download PDFInfo
- Publication number
- CN115390861A CN115390861A CN202211019489.8A CN202211019489A CN115390861A CN 115390861 A CN115390861 A CN 115390861A CN 202211019489 A CN202211019489 A CN 202211019489A CN 115390861 A CN115390861 A CN 115390861A
- Authority
- CN
- China
- Prior art keywords
- deployment
- target
- resource
- steps
- configuration information
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 110
- 230000008569 process Effects 0.000 claims abstract description 56
- 238000012545 processing Methods 0.000 claims abstract description 15
- 238000009434 installation Methods 0.000 claims description 21
- 230000006870 function Effects 0.000 claims description 16
- 238000011161 development Methods 0.000 claims description 12
- 238000002360 preparation method Methods 0.000 claims description 7
- 238000012795 verification Methods 0.000 claims description 5
- 230000001960 triggered effect Effects 0.000 claims description 4
- 238000004891 communication Methods 0.000 description 19
- 238000010586 diagram Methods 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000012423 maintenance Methods 0.000 description 3
- 230000004044 response Effects 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000010200 validation analysis Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/61—Installation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Stored Programmes (AREA)
Abstract
本申请实施例公开了一种资源部署方法、装置及设备和存储介质,获得构建好的目标部署流程;目标部署流程包括:对待部署的目标资源以至少两种部署模式进行部署所需执行的各个步骤,以及各个步骤之间的关联关系;接收针对目标部署流程中的各个步骤输入的配置信息;针对每个步骤输入的配置信息指示该步骤的执行时间,和/或,该步骤的处理对象,和/或,该步骤对应的功能模块的版本,和/或,该步骤的执行主体;在满足部署条件时,基于目标部署流程以及配置信息,调用目标部署流程中的各个步骤对应的功能模块,以对目标资源执行至少两种部署模式的自动部署。本申请通过配置实现在同一平台集成不同部署模式,降低用户操作的复杂度。
Description
技术领域
本申请涉及计算机技术领域,更具体地说,涉及一种资源部署方法、装置及设备和存储介质。
背景技术
应用程序或数据库等资源的部署是指将资源发布到服务器,以便用户下载资源后进行安装或更新。
对于待部署的资源,针对不同的操作系统,或不同的前/后端,或不同的编程语音,资源部署模式可能会不同,这就需要用到多种部署模式,而目前的自动化部署方法只能实现单一模式的部署,比如,只能针对特定的操作系统进行部署,而不能针对其它操作系统进行部署,若要针对不同的操作系统进行部署,需要用户手动选择并启动不同的部署模式,在每一种部署模式下,还需要用户自行判断需要人为执行的操作并执行,使得用户的操作比较复杂。
发明内容
本申请的目的是提供一种资源部署方法、装置及设备和存储介质,以至少部分的克服现有技术中存在的技术问题。
为实现上述目的,本申请提供了如下技术方案:
一种资源部署方法,所述方法包括:
获得构建好的目标部署流程;所述目标部署流程包括:对待部署的目标资源以至少两种部署模式进行部署所需执行的各个步骤,以及各个步骤之间的关联关系;
接收针对所述目标部署流程中的各个步骤输入的配置信息;针对每个步骤输入的配置信息指示该步骤的执行时间,和/或,该步骤的处理对象,和/或,该步骤对应的功能模块的版本,和/或,该步骤的执行主体;
在满足部署条件时,基于所述目标部署流程以及所述配置信息,调用所述目标部署流程中的各个步骤对应的功能模块,以对所述目标资源执行所述至少两种部署模式的自动部署。
上述方法,优选的,所述获得构建好的目标部署流程,包括:
从预先构建好的多个部署流程中选择一个部署流程作为所述目标部署流程;
或者,
从预先构建好的多个部署流程中选择一个部署流程,对选择的部署流程进行编辑,得到所述目标部署流程;
或者,
根据输入的选择指令,选择目标组件;所述目标组件表征对所述目标资源以所述至少两种部署模式进行部署所需执行的各个步骤;根据输入的关系建立指令,建立选择的各个目标组件间的关联关系,得到所述目标部署流程。
上述方法,优选的,所述目标部署流程包括:
对待部署的目标资源以至少两种部署模式进行部署所需执行的第一类步骤和第二类步骤;所述第一类步骤至少包括版本获取步骤;所述第二类步骤至少包括:版本安装步骤和验证步骤;其中,
所述第一类步骤的执行时间早于所述第二类步骤的执行时间;
在包含多个第一类步骤的情况下,各个第一类步骤的关联关系为并发执行;
对应同一部署模式各个第二类步骤的关联关系为依次执行;对应不同部署模式的第二类步骤的关联关系为并发执行。
上述方法,优选的,
所述第一类步骤还至少包括如下至少一项:环境资源检查步骤、参数配置步骤和数据准备步骤;
所述第二类步骤还至少包括如下至少一项:停止业务步骤和备份资源步骤。
上述方法,优选的,针对每个步骤输入的配置信息包括:该步骤的执行时间和该步骤的执行主体;
针对所述版本获取步骤输入的配置信息还包括:目标资源的版本信息和目标资源的存储地址;
针对所述参数配置步骤、所述数据准备步骤、所述停止业务步骤和所述备份资源步骤输入的配置信息还包括:是否需要对执行主体进行检查,如果需要检查,所述配置信息还包括检查脚本或检查规则;
针对所述版本安装步骤输入的配置信息还包括:所述目标资源的部署地址、所述目标资源的开发语言、部署针对的操作系统、是否涉及前端/后端,以及如果涉及前端/后端,所述前端/后端的类型。
上述方法,优选的,所述执行主体包括:
脚本或用户;所述用户通过所述用户的角色和所述用户的唯一识别标识表征。
上述方法,优选的,针对每个步骤输入的配置信息还包括:
是否需要人工审批该步骤的执行结果,以及审批结果是否会对该步骤之后的流程有影响;和/或,
针对任意一个第二类步骤,该第二类步骤如果出现错误,是否会触发所述目标资源的版本回退。
一种资源部署装置,所述装置包括:
流程获得模块,用于获得构建好的目标部署流程;所述目标部署流程包括:对待部署的目标资源以至少两种部署模式进行部署所需执行的各个步骤,以及各个步骤之间的关联关系;
配置模块,用于接收针对所述目标部署流程中的各个步骤输入的配置信息;针对每个步骤输入的配置信息指示该步骤的执行时间,和/或,该步骤的处理对象,和/或,该步骤对应的功能模块的版本,和/或,该步骤的执行主体;
部署模块,用于在满足部署条件时,基于所述目标部署流程以及所述配置信息,调用所述目标部署流程中的各个步骤对应的功能模块,以对所述目标资源执行所述至少两种部署模式的自动部署。
一种电子设备,包括存储器和处理器;
所述存储器用于存储程序;
所述处理器用于执行所述存储器中存储的程序,以实现如上任意一项所述的资源部署方法的各个步骤。
一种计算机可读存储介质,其上存储有程序,其特征在于,所述程序被处理器执行时,实现如上任意一项所述的资源部署方法的各个步骤。
本申请提供的一种资源部署方法、装置及设备和存储介质,获得构建好的目标部署流程;目标部署流程包括:对待部署的目标资源以至少两种部署模式进行部署所需执行的各个步骤,以及各个步骤之间的关联关系;接收针对目标部署流程中的各个步骤输入的配置信息;针对每个步骤输入的配置信息指示该步骤的执行时间,和/或,该步骤的处理对象,和/或,该步骤对应的功能模块的版本,和/或,该步骤的执行主体;在满足部署条件时,基于目标部署流程以及配置信息,调用目标部署流程中的各个步骤对应的功能模块,以对目标资源执行至少两种部署模式的自动部署。基于本申请可以通过配置实现在同一平台集成不同部署模式,从而实现通过不同的部署模式同时对目标资源进行部署,而且,部署过程基于工作流实现,不需要用户在部署过程中判断是否需要人为执行,降低用户操作的复杂度。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1本申请实施例提供的资源部署方法的一种实现流程图;
图2为本申请实施例提供的资源部署装置的一种结构示意图;
图3为本申请实施例提供的电子设备的硬件结构框图。
说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”“第四”等(如果存在)是用于区别类似的部分,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示的以外的顺序实施。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有付出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,为本申请实施例提供的资源部署方法的一种实现流程图,可以包括:
步骤S101:获得构建好的目标部署流程;该目标部署流程包括:对待部署的目标资源以至少两种部署模式进行部署所需执行的各个步骤,以及各个步骤之间的关联关系。
目标资源可以是新开发的应用程序的安装包或数据库的安装包;或者,目标资源也可以是已有应用程序或数据库的最新版本的升级包。
本申请实施例中,用户(比如,版本管理员)可以根据目标资源的部署需求(针对的操作系统,使用的开发语言、是否涉及前端/后端,以及如果涉及前端/后端,所述前端/后端的类型)确定需要使用的部署模式,在目标资源需要使用至少两种部署模式进行部署的情况,获得目标部署流程,该目标部署流程包括对待部署的目标资源以至少两种部署模式进行部署所需执行的各个步骤,以及各个步骤之间的关联关系。
各步骤之间的关联关系包括各步骤之间的执行顺序。目标部署流程中的每个步骤通过一个组件表征,用户可以对各个组件进行编辑(比如,增加组件,或者,删除组件,或者,对组件进行配置等)。
不同的部署模式下的部署流程通常是不同的,即不同的部署模式会存在部分步骤不同,比如,第一部署模式不包括步骤1,而第二部署模式包括步骤1,或者,第一部署模式和第二部署模式均包含步骤1,但是第一部署模式和第二部署模式下步骤1的执行主体不同等。针对每种部署模式都包含的步骤,如果每种部署模式下该步骤是相同的,则目标部署流程中仅设置该一个步骤即可,如果存在至少两种部署模式下该步骤不同,则可以在目标部署流程中设置至少两个该步骤,后续对应不同的部署模式对该步骤进行不同的配置,以便得到对应不同部署模式该步骤。
可选的,用户可以查看已经构建好的那些部署流程,如果已经构建好的部署流程中存在需要的部署流程(即目标部署流程),则可以直接选择该部署流程作为目标部署流程。
可选的,如果已经构建好的部署流程中不存在所需要的部署流程,可以在已经构建好的部署流程中选择与所需要的部署流程最接近的部署流程,进而对选择的部署流程进行编辑,得到目标部署流程。对部署流程进行编辑可以包括:增加或删除步骤,改变步骤间的关联关系等。
可选的,如果用户认为已经构建好的部署流程中不存在与所需要的部署流程接近的部署流程,可以自己构建目标部署流程。可选的,资源部署装置可以根据输入的选择指令,选择目标组件;每个目标组件表征对目标资源以上述至少两种部署模式进行部署所需执行的各个步骤中的其中一个步骤;根据输入的关系建立指令,建立选择的各个目标组件间的关联关系,得到目标部署流程。具体的,用户可以根据需要在组件库中选择表征对目标资源以上述至少两种部署模式进行部署所需执行的各个步骤的组件(即目标组件),具体,针对每个目标组件,可以获得针对该目标组件的拖拽指令作为选择指令,响应于该选择指令,将目标组件拖拽到部署流程编辑区,用户可以在部署流程编辑区建立目标组件间的关联关系,比如,用箭头将执行顺序相邻的两个步骤连接,以触发生成关系建立指令,响应于关系建立指令,建立箭头连接的两个目标组件间的关联关系,其中,箭头由先执行的步骤指向后执行的步骤。一个步骤指向多个步骤的情况下,还可以配置一个步骤执行完后,执行后续各个步骤的条件。前述已经构建好的部署流程也可以是通过这种方式构建好的。
步骤S102:接收针对目标部署流程中的各个步骤输入的配置信息;针对每个步骤输入的配置信息指示该步骤的执行时间,和/或,该步骤的处理对象,和/或,该步骤对应的功能模块的版本相关信息,和/或,该步骤的执行主体。
不同的步骤需要配置的信息可能相同,也可能不同。通常每个步骤都会配置该步骤的执行时间和该步骤的执行主体。
执行时间根据实际的业务需求设置,比如,步骤1在X月1号前完成,步骤2在X月2号前完成,步骤3在X月4号前完成等等。
步骤的处理对象包括:步骤要处理的安装包或升级包,和/或其它数据。
步骤对应的功能模块的版本主要通过部署场景确定,不同的部署场景,需要使用的部署模式不同,不同的部署模式中,同一功能模块的版本不同,以区分不同的部署模式。作为示例,功能模块的版本相关信息可以包括但不限于,目标资源的开发语言、部署针对的操作系统、是否涉及前端/后端,以及如果涉及前端/后端,前端/后端的类型等。
步骤的执行主体可以包括但不限于以下两种中的任意一种:脚本或用户;用户可以通过用户的角色(比如,研发、运维、测试等)和用户的唯一识别标识(比如,姓名、工号等)表征。也就是说,步骤的执行可以是配置有资源部署装置的设备自动执行,也可以是人为执行的,具体是自动执行还是人为执行,通过配置实现。
配置信息可以由目标资源的版本管理员进行配置。
步骤S103:在满足部署条件时,基于目标部署流程以及配置信息,调用目标部署流程中的各个步骤对应的功能模块,以对目标资源执行上述至少两种部署模式的自动部署。
可选的,满足部署条件可以包括:获得配置完成指令。作为示例,版本管理员在针对各个步骤配置完成后,可以触发生成配置完成指令,资源部署装置(也可以称为资源部署平台)获得配置完成指令后,确定满足部署条件。
可选的,满足部署条件可以包括:接收到配置完成指令,且到达预设的部署时机。作为示例,预设的部署时机可以是由版本管理针对目标部署流程配置的。也就是说,步骤S102中,除了可以接收针对各个步骤输入的配置信息外,还可以接收针对目标部署流程的配置信息,针对目标部署流程的配置信息包括:目标部署流程的执行时机(比如,X月X号零点执行等)。
可选的,配置完成后,版本管理员可以进行发布生效操作(比如,单击特定按键,或者,执行预设的手势操作,或者,说出特定的语音内容等),以便触发资源部署装置生成配置完成指令。
各个步骤对应的功能模块是预先封装好的,用于执行该模块对应的步骤。
本申请实施例提供的资源部署方法,获得构建好的目标部署流程;目标部署流程包括:对待部署的目标资源以至少两种部署模式进行部署所需执行的各个步骤,以及各个步骤之间的关联关系;接收针对目标部署流程中的各个步骤输入的配置信息;针对每个步骤输入的配置信息指示该步骤的执行时间,和/或,该步骤的处理对象,和/或,该步骤对应的功能模块的版本,和/或,该步骤的执行主体;在满足部署条件时,基于目标部署流程以及配置信息,调用目标部署流程中的各个步骤对应的功能模块,以对目标资源执行至少两种部署模式的自动部署。基于本申请可以通过配置实现在同一平台集成不同部署模式,从而实现通过不同的部署模式同时对目标资源进行部署,而且,部署过程基于工作流实现,不需要用户在部署过程中判断是否需要人为执行,降低用户操作的复杂度。
在一可选的实施例中,目标部署流程具体可以包括:
对待部署的目标资源以至少两种部署模式进行部署所需执行的第一类步骤和第二类步骤;第一类步骤至少包括版本获取步骤;第二类步骤至少包括:版本安装(即安装目标资源的最新版本)步骤和验证(即验证安装好的最新的目标资源是否是正确的)步骤;其中,
第一类步骤的执行时间早于第二类步骤的执行时间;
第一类步骤可以是执行资源部署前的准备工作,比如:除了版本获取步骤,每个部署方式还可以包括如下至少一项:环境资源检查步骤、参数配置步骤和数据准备步骤。其中,环境资源检查可以包括但不限于:检查部署环境的操作系统、硬件资源、软件资源等信息;参数配置包括但不限于:部署所针对的操作系统的运行时间、向目标服务器(即部署目标资源的服务器,其运行的操作系统即为上述部署所针对的操作系统)上传文件的大小等参数的配置;数据准备可以包括但不限于:预设文件的准备,比如,预设文件可以为白名单,黑名单等。当然,这里只是举例说明了各个步骤的可选的实现方式,并不构成对本申请的限定,各个步骤的具体实现方式可以根据实际需要而设定。
第二类步骤可以是执行资源部署所需的工作,比如,除了版本安装步骤和验证步骤,还可以包括如下至少一项:停止业务(即控制目标资源停止对外提供业务)步骤和备份资源(即对已有的目标资源,也就是旧版本的目标资源,进行备份)步骤。其中,停止业务步骤的执行时间早于备份资源步骤的执行时间,备份资源步骤的执行时间早于版本安装步骤的执行时间,版本安装步骤的执行时间早于验证步骤的执行时间。
在包含多个第一类步骤的情况下,各个第一类步骤的关联关系为并发执行;
对应同一部署模式各个第二类步骤的关联关系为依次执行,即执行完一个第二类步骤,再执行下一个第二类步骤;对应不同部署模式的第二类步骤的关联关系为并发执行。比如,不同的部署模式均包含停止业务步骤,则两种部署模式的停止业务步骤可以并发执行,当然不同的部署模式下的不同的步骤也可以并发执行,比如,第一部署模式下的停止业务步骤,和第二部署模式下的备份资源步骤可以并发执行。
可选的,针对版本获取步骤,输入的配置信息还可以包括:目标资源的版本信息(比如,版本号、版本名称等)和目标资源的存储地址(即部署前,目标资源的地址)。作为示例,如果目标资源部署针对N(N为大于1的整数)个操作系统,不涉及前/后端,针对不同操作系统目标资源的开发语言均相同,则针对不同的操作系统,目标资源的内容可能存在差别,为了区分针对不同操作系统的目标资源,目标资源可以通过不同的版本号区分,比如,目标资源的版本号为1.1,1.2,……,1.N等,其中,版本号为1.1的目标资源针对操作系统1,版本号为1.2的目标资源针对操作系统2,……,版本号为1.N的目标资源针对操作系统N。对应不同的操作系统,目标资源的版本名称都是相同的。因此,在目标资源对应同一版本名称有多个版本的情况下,该目标资源的多个版本可以通过多个版本获取步骤获得,不同的版本获取步骤获得不同的版本信息和对应的存储地址,该情况下,目标部署流程中可以设置多个版本获取步骤,每个版本获取步骤用于获取一个版本的目标资源。可选的,在目标资源对应同一版本名称有多个版本的情况下,该目标资源的多个版本也可以通过同一版本获取步骤获得,该情况下,目标部署流程中只需要设置一个版本获取步骤即可,该情况下,需要同一版本获取步骤获得目标资源的各个版本信息和对应的存储地址。
可选的,针对参数配置步骤、数据准备步骤、停止业务步骤和备份资源步骤,输入的配置信息还可以包括:是否需要对执行主体进行检查,如果需要检查,配置信息还包括检查脚本或检查规则。其中,
如果检查是人为检查,则配置信息中包括检查规则,如果是自动检查,则配置信息中包括检查脚本。对执行主体进行检查主要是对执行主体的权限进行检查,以判断执行主体是否是合法的执行主体。具体的,
如果步骤的执行主体是脚本,则可以通过检查脚本对执行主体进行检查,具体可以包括:检查脚本对步骤的执行主体的签名进行校验,如果校验通过,则步骤的执行主体是合法的,否则,确定步骤的执行主体是不合法的;如果步骤的执行主体是用户(比如技术人员),则对执行主体进行检查可以是人为检查,也可以是脚本检查,不管是人为检查还是脚本检查,都是基于检查规则进行检查,具体包括:判断用户输入的身份信息(比如,用户的角色和唯一识别标识等)与预先配置(可以由版本管理员配置)的用户身份信息是否匹配;如果匹配,则确定执行主体是合法的,否则确定执行主体是不合法的。或者,具体可以是,判断用户输入的身份信息是不是在预设的白名单中,如果是则确定执行主体是合法的,否则确定执行主体是不合法的。
针对版本安装步骤,输入的配置信息还可以包括:目标资源的部署地址(即部署完成后,目标资源的地址,与前述目标资源的存储地址可能是同一地址,也可能是不同的地址)、目标资源的开发语言、部署针对的操作系统、是否涉及前端/后端,以及如果涉及前端/后端,前端/后端的类型等。
作为示例,如果目标资源部署针对N(N为大于1的整数)个操作系统,不涉及前/后端,针对不同操作系统目标资源的开发语言均相同,则目标部署流程中可以设置N个版本安装步骤,不同的版本安装步骤中配置的部署针对的操作系统是不同的。比如,版本安装步骤1对应操作系统1,操作系统1对应的目标资源的版本为版本1.1,配置信息可以包括:版本1.1的目标资源的部署地址1、目标资源的开发语言、部署针对的操作系统为操作系统1、不涉及前端/后端;版本安装步骤2对应操作系统2,操作系统2对应的目标资源的版本为版本1.2,配置信息可以包括:版本1.2的目标资源的部署地址2、目标资源的开发语言、部署针对的操作系统为操作系统2、不涉及前端/后端;……版本安装步骤N对应操作系统N,操作系统N对应的目标资源的版本为版本1.N,配置信息可以包括:版本1.N的目标资源的部署地址N、目标资源的开发语言、部署针对的操作系统为操作系统N、不涉及前端/后端。
通设置N个版本安装步骤,在进行资源部署的过程中,如果某个版本安装步骤出现错误,可以仅对目标部署流程中出现错误的版本安装步骤进行检查和维护,而不必检查其它版本安装步骤,提高多部署模式下的维护效率。
同理,如果不同的部署模式下的停止业务和备份业务也不同,则可以对应不同的部署模式设置不同的停止业务步骤,以及对应不同的部署模式设置不同的备份业务步骤,这样也可以提高多部署模式下的部署效率。
进一步的,本申请实施例中,针对每个步骤输入的配置信息还可以包括:
是否需要人工审批该步骤的执行结果,以及审批结果是否会对该步骤之后的流程有影响。对于每一个步骤,是否需要对该步骤的执行结果进行审批是根据实际需要设定的,如果实际场景中需要领导进行审批,则可以配置该步骤需要审批,以及审批结果是否会对该步骤之后的流程有影响,如果有影响,是什么影响;否则可以配置该步骤不需要审批。
可选的,为了实现线上审批,如果需要人工审批该步骤的执行结果,配置信息中还可以包括审批人的识别信息(比如,角色和唯一识别标识等),以便基于审批人的识别信息向审批人发送审批请求,实现线上审批。
和/或,
针对任意一个第二类步骤,该第二类步骤如果出现错误,是否触发目标资源的版本回退。
如前所述,第二类步骤是执行资源部署所需的工作,停止业务或版本安装过程中如果出现错误,会导致目标资源的新版本和旧版本都不能使用,因此,有必要在一些步骤(比如,停止业务步骤、版本安装步骤等)出错时,触发目标资源的版本回退,以保证目标资源能够继续对外提供业务。
配置完成后,为便于管理,资源部署装置可以将目标资源的版本信息存储至文件服务器,将目标部署流程以及其它配置信息(也可以将其它配置信息称为实例信息)存储至数据库服务器。
当满足部署条件时,资源部署装置从文件服务器和数据库服务器获取目标部署流程及配置信息,进而基于目标部署流程以及配置信息,调用目标部署流程中的各个步骤对应的功能模块,以对目标资源执行上述至少两种部署模式的自动部署。
在一可选的实施例中,上述基于目标部署流程以及配置信息,调用目标部署流程中的各个步骤对应的功能模块,以对目标资源执行上述至少两种部署模式的自动部署的一种实现方式可以为:
并发执行目标部署流程中的各个第一类步骤,对于每一个第一类步骤,如果该第一类步骤的执行主体是脚本,则直接运行该脚本即可,如果该第一类步骤的执行主体是人,则可以根据针对该第一类步骤配置的执行主体信息(据角色和唯一识别标识),以及执行主体信息与通信识别码的对应关系,获得执行主体的通信识别码(比如,资源审批装置的登录账号,或者,手机号,或者,邮箱,或者,即时通信软件的账号等等),通过该通信识别码向执行主体发送提醒信息,以便执行主体执行该第一类步骤。如果执行结果需要审批,执行主体执行完该第一类步骤后,可以线下找到审批人进行线下审批,审批通过后将审批结果拍照后上传至资源部署装置。或者,也可以在线上进行审批操作,具体的,资源部署装置或执行主体可以在资源部署装置中触发生成表征该第一类步骤完成的指示信息,资源部署装置获得表征该第一类步骤完成的指示信息后,如果该步骤需要审批,根据审批人的识别信息获得审批人的通信识别码,基于审批人的通信识别码向审批人发送审批请求,以便审批人对该第一类步骤的执行结果进行审批,资源部署装置在获得审批结果后等待其它第一类步骤的执行结果或审批结果。
在所有的第一类步骤都执行完成后,可以执行第二类步骤,对于对应同一部署模式的各个第二类步骤,需要按照目标部署流程中定义的关联关系,依次执行各个第二类步骤,而对于对应不同部署模式的各个第二类步骤,则可以并发执行。
与第一类步骤类似,对于每一个第二类步骤,如果该第二类步骤的执行主体是脚本,则直接运行该脚本即可,如果该第二类步骤的执行主体是人,则可以根据针对该第二类步骤配置的执行主体信息(据角色和唯一识别标识),以及执行主体信息与通信识别码的对应关系,获得执行主体的通信识别码(比如,资源审批装置的登录账号,或者,手机号,或者,邮箱,或者,即时通信软件的账号等等),通过该通信识别码向执行主体发送提醒信息,以便执行主体执行该第二类步骤。如果执行结果需要审批,执行主体执行完该第二类步骤后,可以线下找到审批人进行线下审批,审批通过后将审批结果拍照后上传至资源部署装置。或者,也可以在线上进行审批操作,具体的,资源部署装置或执行主体可以在资源部署装置中触发生成表征该第二类步骤完成的指示信息,资源部署装置获得表征该第二类步骤完成的指示信息后,如果该步骤需要审批,根据审批人的识别信息获得审批人的通信识别码,基于审批人的通信识别码向审批人发送审批请求,以便审批人对该第二类步骤的执行结果进行审批,资源部署装置在获得审批结果后,如果审批结果是审批通过,则确定可以执行下一个第二类步骤,如果审批结果是未通过,则可以输出审批未通过的提示信息,以便相关人员进行检查和维护。
如果执行第二类步骤的过程出错,在需要对目标资源进行版本回退的情况下,恢复部署前目标资源的版本。
进一步的,如果在执行第一类步骤和/或第二类步骤的过程中出错,可以保存错误信息,以便相关人员查看或维护。
与方法实施例相对应,本申请实施例还提供一种资源部署装置,本申请实施例提供的资源部署装置的一种结构示意图如图2所示,可以包括:
流程获得模块201,配置模块202和部署模块203;其中,
流程获得模块201用于获得构建好的目标部署流程;所述目标部署流程包括:对待部署的目标资源以至少两种部署模式进行部署所需执行的各个步骤,以及各个步骤之间的关联关系;
配置模块202用于接收针对所述目标部署流程中的各个步骤输入的配置信息;针对每个步骤输入的配置信息指示该步骤的执行时间,和/或,该步骤的处理对象,和/或,该步骤对应的功能模块的版本,和/或,该步骤的执行主体;
部署模块203用于在满足部署条件时,基于所述目标部署流程以及所述配置信息,调用所述目标部署流程中的各个步骤对应的功能模块,以对所述目标资源执行所述至少两种部署模式的自动部署。
本申请实施例提供的资源部署装置,获得构建好的目标部署流程;目标部署流程包括:对待部署的目标资源以至少两种部署模式进行部署所需执行的各个步骤,以及各个步骤之间的关联关系;接收针对目标部署流程中的各个步骤输入的配置信息;针对每个步骤输入的配置信息指示该步骤的执行时间,和/或,该步骤的处理对象,和/或,该步骤对应的功能模块的版本,和/或,该步骤的执行主体;在满足部署条件时,基于目标部署流程以及配置信息,调用目标部署流程中的各个步骤对应的功能模块,以对目标资源执行至少两种部署模式的自动部署。基于本申请可以通过配置实现在同一平台集成不同部署模式,从而实现通过不同的部署模式同时对目标资源进行部署,而且,部署过程基于工作流实现,不需要用户在部署过程中判断是否需要人为执行,降低用户操作的复杂度。
在一可选的实施例中,所述流程获得模块201用于:
从预先构建好的多个部署流程中选择一个部署流程作为所述目标部署流程;
或者,
从预先构建好的多个部署流程中选择一个部署流程,对选择的部署流程进行编辑,得到所述目标部署流程;
或者,
根据输入的选择指令,选择目标组件;所述目标组件表征对所述目标资源以所述至少两种部署模式进行部署所需执行的各个步骤;根据输入的关系建立指令,建立选择的各个目标组件间的关联关系,得到所述目标部署流程。
在一可选的实施例中,所述目标部署流程包括:
对待部署的目标资源以至少两种部署模式进行部署所需执行的第一类步骤和第二类步骤;所述第一类步骤至少包括版本获取步骤;所述第二类步骤至少包括:版本安装步骤和验证步骤;其中,
所述第一类步骤的执行时间早于所述第二类步骤的执行时间;
在包含多个第一类步骤的情况下,各个第一类步骤的关联关系为并发执行;
对应同一部署模式各个第二类步骤的关联关系为依次执行;对应不同部署模式的第二类步骤的关联关系为并发执行。
在一可选的实施例中,
所述第一类步骤还至少包括如下至少一项:环境资源检查步骤、参数配置步骤和数据准备步骤;
所述第二类步骤还至少包括如下至少一项:停止业务步骤和备份资源步骤。
在一可选的实施例中,针对每个步骤输入的配置信息包括:该步骤的执行时间和该步骤的执行主体;
针对所述版本获取步骤输入的配置信息还包括:目标资源的版本信息和目标资源的存储地址;
针对所述参数配置步骤、所述数据准备步骤、所述停止业务步骤和所述备份资源步骤输入的配置信息还包括:是否需要对执行主体进行检查,如果需要检查,所述配置信息还包括检查脚本或检查规则;
针对所述版本安装步骤输入的配置信息还包括:所述目标资源的部署地址、所述目标资源的开发语言、部署针对的操作系统、是否涉及前端/后端,以及如果涉及前端/后端,所述前端/后端的类型。
在一可选的实施例中,所述执行主体包括:
脚本或用户;所述用户通过所述用户的角色和所述用户的唯一识别标识表征。
在一可选的实施例中,针对每个步骤输入的配置信息还包括:
是否需要人工审批该步骤的执行结果,以及审批结果是否会对该步骤之后的流程有影响;和/或,
针对任意一个第二类步骤,该第二类步骤如果出现错误,是否会触发所述目标资源的版本回退。
本申请实施例提供的资源部署装置可应用于电子设备中,如云平台、服务器及服务器集群等。可选的,图3示出了本申请实施例提供的电子设备的硬件结构框图,参照图3,该电子设备的硬件结构可以包括:
至少一个处理器1,至少一个通信接口2,至少一个存储器3和至少一个通信总线4。
在本申请实施例中,处理器1、通信接口2、存储器3、通信总线4的数量为至少一个,且处理器1、通信接口2、存储器3通过通信总线4完成相互间的通信;
处理器1可能是一个中央处理器CPU,或者是特定集成电路ASIC(ApplicationSpecific Integrated Circuit),或者是被配置成实施本发明实施例的一个或多个集成电路等;
存储器3可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatilememory)等,例如至少一个磁盘存储器;
其中,存储器存储有程序,处理器可调用存储器存储的程序,所述程序用于:
获得构建好的目标部署流程;所述目标部署流程包括:对待部署的目标资源以至少两种部署模式进行部署所需执行的各个步骤,以及各个步骤之间的关联关系;
接收针对所述目标部署流程中的各个步骤输入的配置信息;针对每个步骤输入的配置信息指示该步骤的执行时间,和/或,该步骤的处理对象,和/或,该步骤对应的功能模块的版本,和/或,该步骤的执行主体;
在满足部署条件时,基于所述目标部署流程以及所述配置信息,调用所述目标部署流程中的各个步骤对应的功能模块,以对所述目标资源执行所述至少两种部署模式的自动部署。
可选的,所述程序的细化功能和扩展功能可参照上文描述。
本申请实施例还提供一种存储介质,该存储介质可存储有适于处理器执行的程序,所述程序用于:
获得构建好的目标部署流程;所述目标部署流程包括:对待部署的目标资源以至少两种部署模式进行部署所需执行的各个步骤,以及各个步骤之间的关联关系;
接收针对所述目标部署流程中的各个步骤输入的配置信息;针对每个步骤输入的配置信息指示该步骤的执行时间,和/或,该步骤的处理对象,和/或,该步骤对应的功能模块的版本,和/或,该步骤的执行主体;
在满足部署条件时,基于所述目标部署流程以及所述配置信息,调用所述目标部署流程中的各个步骤对应的功能模块,以对所述目标资源执行所述至少两种部署模式的自动部署。
可选的,所述程序的细化功能和扩展功能可参照上文描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
应当理解,本申请实施例中,从权、各个实施例、特征可以互相组合结合,都能实现解决前述技术问题。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (10)
1.一种资源部署方法,其特征在于,所述方法包括:
获得构建好的目标部署流程;所述目标部署流程包括:对待部署的目标资源以至少两种部署模式进行部署所需执行的各个步骤,以及各个步骤之间的关联关系;
接收针对所述目标部署流程中的各个步骤输入的配置信息;针对每个步骤输入的配置信息指示该步骤的执行时间,和/或,该步骤的处理对象,和/或,该步骤对应的功能模块的版本,和/或,该步骤的执行主体;
在满足部署条件时,基于所述目标部署流程以及所述配置信息,调用所述目标部署流程中的各个步骤对应的功能模块,以对所述目标资源执行所述至少两种部署模式的自动部署。
2.根据权利要求1所述的方法,其特征在于,所述获得构建好的目标部署流程,包括:
从预先构建好的多个部署流程中选择一个部署流程作为所述目标部署流程;
或者,
从预先构建好的多个部署流程中选择一个部署流程,对选择的部署流程进行编辑,得到所述目标部署流程;
或者,
根据输入的选择指令,选择目标组件;所述目标组件表征对所述目标资源以所述至少两种部署模式进行部署所需执行的各个步骤;根据输入的关系建立指令,建立选择的各个目标组件间的关联关系,得到所述目标部署流程。
3.根据权利要求1所述的方法,其特征在于,所述目标部署流程包括:
对待部署的目标资源以至少两种部署模式进行部署所需执行的第一类步骤和第二类步骤;所述第一类步骤至少包括版本获取步骤;所述第二类步骤至少包括:版本安装步骤和验证步骤;其中,
所述第一类步骤的执行时间早于所述第二类步骤的执行时间;
在包含多个第一类步骤的情况下,各个第一类步骤的关联关系为并发执行;
对应同一部署模式各个第二类步骤的关联关系为依次执行;对应不同部署模式的第二类步骤的关联关系为并发执行。
4.根据权利要求3所述的方法,其特征在于,
所述第一类步骤还至少包括如下至少一项:环境资源检查步骤、参数配置步骤和数据准备步骤;
所述第二类步骤还至少包括如下至少一项:停止业务步骤和备份资源步骤。
5.根据权利要求4所述的方法,其特征在于,针对每个步骤输入的配置信息包括:该步骤的执行时间和该步骤的执行主体;
针对所述版本获取步骤输入的配置信息还包括:目标资源的版本信息和目标资源的存储地址;
针对所述参数配置步骤、所述数据准备步骤、所述停止业务步骤和所述备份资源步骤输入的配置信息还包括:是否需要对执行主体进行检查,如果需要检查,所述配置信息还包括检查脚本或检查规则;
针对所述版本安装步骤输入的配置信息还包括:所述目标资源的部署地址、所述目标资源的开发语言、部署针对的操作系统、是否涉及前端/后端,以及如果涉及前端/后端,所述前端/后端的类型。
6.根据权利要求5所述的方法,其特征在于,所述执行主体包括:
脚本或用户;所述用户通过所述用户的角色和所述用户的唯一识别标识表征。
7.根据权利要求5所述的方法,其特征在于,针对每个步骤输入的配置信息还包括:
是否需要人工审批该步骤的执行结果,以及审批结果是否会对该步骤之后的流程有影响;和/或,
针对任意一个第二类步骤,该第二类步骤如果出现错误,是否会触发所述目标资源的版本回退。
8.一种资源部署装置,其特征在于,所述装置包括:
流程获得模块,用于获得构建好的目标部署流程;所述目标部署流程包括:对待部署的目标资源以至少两种部署模式进行部署所需执行的各个步骤,以及各个步骤之间的关联关系;
配置模块,用于接收针对所述目标部署流程中的各个步骤输入的配置信息;针对每个步骤输入的配置信息指示该步骤的执行时间,和/或,该步骤的处理对象,和/或,该步骤对应的功能模块的版本,和/或,该步骤的执行主体;
部署模块,用于在满足部署条件时,基于所述目标部署流程以及所述配置信息,调用所述目标部署流程中的各个步骤对应的功能模块,以对所述目标资源执行所述至少两种部署模式的自动部署。
9.一种电子设备,其特征在于,包括存储器和处理器;
所述存储器用于存储程序;
所述处理器用于执行所述存储器中存储的程序,以实现如权利要求1-7任意一项所述的资源部署方法的各个步骤。
10.一种计算机可读存储介质,其上存储有程序,其特征在于,所述程序被处理器执行时,实现如权利要求1-7任意一项所述的资源部署方法的各个步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211019489.8A CN115390861A (zh) | 2022-08-24 | 2022-08-24 | 资源部署方法、装置及设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211019489.8A CN115390861A (zh) | 2022-08-24 | 2022-08-24 | 资源部署方法、装置及设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115390861A true CN115390861A (zh) | 2022-11-25 |
Family
ID=84120462
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211019489.8A Pending CN115390861A (zh) | 2022-08-24 | 2022-08-24 | 资源部署方法、装置及设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115390861A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115857959A (zh) * | 2022-12-06 | 2023-03-28 | 中电金信软件有限公司 | 一种平台的服务模块部署方法、装置、设备及存储介质 |
-
2022
- 2022-08-24 CN CN202211019489.8A patent/CN115390861A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115857959A (zh) * | 2022-12-06 | 2023-03-28 | 中电金信软件有限公司 | 一种平台的服务模块部署方法、装置、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10824521B2 (en) | Generating predictive diagnostics via package update manager | |
CN110096424B (zh) | 测试的处理方法、装置、电子设备及存储介质 | |
CN104834602B (zh) | 一种程序发布方法、装置和程序发布系统 | |
CN108804215B (zh) | 一种任务处理方法、装置以及电子设备 | |
CN102437938A (zh) | 面向大规模网络监测的虚拟化部署系统和方法 | |
CN109977012B (zh) | 系统的联调测试方法、装置、设备及计算机可读存储介质 | |
CN107896244A (zh) | 一种版本文件的分发方法、客户端及服务器 | |
CN110569159A (zh) | 挡板生成方法、装置、设备及计算机存储介质 | |
CN108228190B (zh) | 持续集成和交付方法、系统、设备及计算机可读存储介质 | |
CN113721957B (zh) | 对嵌入式设备固件部署升级的自动测试方法、装置和系统 | |
CN104346279A (zh) | 一种软件测试方法及装置 | |
CN112015654A (zh) | 用于测试的方法和装置 | |
CN108268272A (zh) | 基于wsus的补丁更新方法和装置 | |
CN113642004A (zh) | 一种容器镜像安全扫描与修复的方法、装置及设备 | |
CN115390861A (zh) | 资源部署方法、装置及设备和存储介质 | |
CN112988219B (zh) | 一种信息系统的部署方法及装置 | |
CN108156053B (zh) | 业务处理方法、装置、系统及服务器 | |
CN109918287A (zh) | App升级测试方法、装置、计算机设备及存储介质 | |
CN110908708B (zh) | 一种代码发布方法、装置和系统 | |
CN113434155A (zh) | 一种混云模式下自动化部署系统 | |
CN107229977A (zh) | 一种主机安全基线自动加固方法及系统 | |
CN115357258B (zh) | 应用的部署方法、装置、存储介质及电子装置 | |
CN110187890B (zh) | 项目部署的方法、电子设备、存储介质 | |
CN111338947A (zh) | 一种测试方法、装置、存储介质和电子设备 | |
CN116755719A (zh) | 应用组件的数据处理方法、装置和数据处理系统 |
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 |