CN115629770A - 一种软件部署方法、装置、存储介质和计算机设备 - Google Patents
一种软件部署方法、装置、存储介质和计算机设备 Download PDFInfo
- Publication number
- CN115629770A CN115629770A CN202211371945.5A CN202211371945A CN115629770A CN 115629770 A CN115629770 A CN 115629770A CN 202211371945 A CN202211371945 A CN 202211371945A CN 115629770 A CN115629770 A CN 115629770A
- Authority
- CN
- China
- Prior art keywords
- subtask
- deployment
- script file
- arrangement
- target
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/36—Software reuse
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/44—Encoding
- G06F8/447—Target code generation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
-
- 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)企业在使用不同环境时,存在不同的配置,而这些配置大部分靠运维人员进行手动维护,存在很大的风险,如提供配置错误或环境配置错误,等等。而这些存在的问题都会降低软件部署的效率。
发明内容
本发明实施例提供一种软件部署方法、装置、存储介质和计算机设备,可以提高软件部署的效率。
本发明实施例提供一种软件部署方法,包括:
获取目标部署编排任务对应的脚本文件,其中,所述目标部署编排任务包括至少两个经过排列处理的子任务对应的脚本文件;
确定所述目标部署编排任务中子任务对应的排列顺序;
基于所述排列顺序,对所述目标部署编排任务中子任务的脚本文件进行功能适配处理,得到子任务对应的适配后脚本文件;
基于所述子任务对应的适配后脚本文件,对所述目标编排部署任务的脚本文件进行更新处理,得到目标脚本文件。
本发明实施例还提供一种软件部署装置,包括:
获取单元,用于获取目标部署编排任务对应的脚本文件,其中,所述目标部署编排任务包括至少两个经过排列处理的子任务对应的脚本文件;
确定单元,用于确定所述目标部署编排任务中子任务对应的排列顺序;
功能适配单元,用于基于所述排列顺序,对所述目标部署编排任务中子任务的脚本文件进行功能适配处理,得到子任务对应的适配后脚本文件;
更新单元,用于基于所述子任务对应的适配后脚本文件,对所述目标编排部署任务的脚本文件进行更新处理,得到目标脚本文件。
在一实施例中,所述功能适配单元,可以包括:
功能属性确定子单元,用于基于子任务的脚本文件,确定所述子任务对应的功能属性;
方式确定子单元,用于基于所述子任务对应的功能属性,确定子任务对应的功能适配方式;
功能适配处理子单元,用于基于所述排列顺序和每个子任务对应的适配方式,对子任务进行功能适配处理,得到子任务对应的适配后脚本文件。
在一实施例中,所述功能适配处理子单元,可以包括:
版本确定模块,用于基于所述排列顺序和当前子任务对应的适配方式,确定所述当前子任务的脚本文件对应的适配版本;
第一脚本解析模块,用于对目标部署编排任务对应的脚本文件进行解析,得到所述目标部署编排任务对应的环境信息;
第一关联处理模块,用于将所述当前子任务的适配版本和所述目标部署编排任务的环境信息进行关联处理,得到当前子任务的关联后脚本文件。
在一实施例中,所述功能适配处理子单元,可以包括:
第二脚本解析模块,用于基于所述排列顺序和当前子任务对应的适配方式,对目标部署编排任务对应的脚本文件进行解析,得到所述目标部署编排任务对应的环境信息;
第二关联处理模块,用于将所述当前子任务对应的脚本文件和所述环境信息进行关联处理,得到所述适配后脚本文件。
在一实施例中,所述功能适配处理子单元,可以包括:
第三脚本解析模块,用于基于所述排列顺序和当前子任务对应的适配方式,对当前子任务对应的脚本文件进行解析,得到部署包地址信息;
部署包确定模块,用于基于所述部署包地址信息,确定所述当前子任务所需的部署包;
编译模块,用于对所述当前子任务所需的部署包进行编译处理,得到编译后部署包;
第三关联处理模块,用于将所述编译后部署包和所述当前子任务的脚本文件进行关联处理,得到所述适配后脚本文件。
在一实施例中,所述功能适配处理子单元,可以包括:
第四脚本解析模块,用于基于所述排列顺序和当前子任务对应的适配方式,对所述当前子任务的脚本文件进行解析,得到目标部署环境组信息和目标部署服务器;
获取模块,用于基于目标部署环境组信息,获取目标部署环境组;
部署模块,用于将所述目标部署环境组部署至所述目标部署服务器,得到部署后服务器;
第四关联处理模块,用于将所述部署后服务器的地址信息和所述当前子任务的脚本文件进行关联处理,得到所述适配后脚本文件。
在一实施例中,所述获取单元,可以包括:
获取子单元,用于通过编排***获取目标部署编排任务对应的脚本文件,其中,所述目标部署编排任务包括至少两个经过排列处理的子任务对应的脚本文件。
在一实施例中,所述确定单元,可以包括:
确定子单元,用于通过所述编排***确定所述目标部署编排任务中子任务对应的排列顺序。
在一实施例中,所述功能适配单元,可以包括:
功能适配子单元,用于通过所述编排***基于所述排列顺序,对所述目标部署编排任务中子任务的脚本文件进行功能适配处理,得到子任务对应的适配后脚本文件。
在一实施例中,所述更新单元,可以包括:
更新子单元,用于通过所述编排***基于所述子任务对应的适配后脚本文件,对所述目标编排部署任务的脚本文件进行更新处理,得到目标脚本文件。
在本发明的一些实施例中,还可以提供一种计算机设备,包括存储器,处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,所述处理器执行所述计算机程序时实现如上所述方法的步骤。
在本发明的一些实施例中,还可以提供一种计算机可读存储介质,其上存储有计算机程序,当计算机程序在计算机上运行时,使得所述计算机执行如上所述方法的步骤。
采用本申请实施例,可以获取目标部署编排任务对应的脚本文件,其中,目标部署编排任务包括至少两个经过排列处理的子任务对应的脚本文件;确定目标部署编排任务中子任务对应的排列顺序;基于排列顺序,对目标部署编排任务中子任务的脚本文件进行功能适配处理,得到子任务对应的适配后脚本文件;基于子任务对应的适配后脚本文件,对目标编排部署任务的脚本文件进行更新处理,得到目标脚本文件,可以提高软件部署的效率。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的软件部署方法的流程示意图;
图2是本发明实施例提供的软件部署方法的场景示意图;
图3是本发明实施例提供的软件部署方法的又一场景示意图;
图4是本发明实施例提供的软件部署方法的又一场景示意图;
图5是本发明实施例提供的软件部署装置的结构示意图;
图6是本发明实施例提供的计算机设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供一种软件部署方法、装置、计算机设备和存储介质。
其中,计算机设备可以为手机、平板电脑、笔记本电脑等终端设备,也可以为穿戴设备、智能电视或其他智能终端。
服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式***,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础云计算服务的云服务器,但并不局限于此。
以下分别进行详细说明。需说明的是,以下实施例的描述顺序不作为对实施例优选顺序的限定。
本发明实施例提供的一种软件部署方法,该方法适用于软件部署装置,如图1所示,该虚拟物品发放方法的流程可以如下:
101、获取目标部署编排任务对应的脚本文件,其中,目标部署编排任务包括至少两个经过排列处理的子任务对应的脚本文件。
在一实施例中,为了解决现有技术中存在的问题,本申请实施例提出了一种软件部署方法。在本申请实施例中,可以支持将子任务进行排列,得到目标部署排列任务。
其中,子任务包括可以实现某个功能的任务。例如,子任务可以指数据库部署编排子任务、配置部署编排子任务、部署包编排子任务或环境选择编排子任务,等等。
其中,目标部署编排任务可以包括可以实现多个复杂功能的任务。该目标部署编排任务可以是多个子任务进行排列得到。例如,一个目标部署编排任务可以由数据库部署编排子任务、配置部署编排子任务、部署包编排子任务和环境选择编排子任务排列而成。又例如,一个目标部署编排任务可以由数据库部署编排子任务、配置部署编排子任务和部署包编排子任务排列而成。
在一实施例中,在本申请实施例中,开发人员可以根据子任务,构建出属于自己的软件部署方案,从而降低软件部署的复杂度,提高效率和可复用性。
例如,开发人员可以对子任务进行排列,得到目标部署编排任务。其中,进行排列的方式可以是并行排列,也可以是串行排列,等等。例如,如图2所示,目标部署编排任务可以包括并行执行的数据库部署编排子任务和配置部署编排子任务,以及串行的配置部署编排子任务和部署包编排子任务。又例如,如图3所示,目标部署编排任务可以包括串行执行的数据库部署编排子任务、部署包编排子任务和环境选择编排子任务。
在一实施例中,在开发人员排列得到目标部署编排任务之后,软件部署装置可以获取目标部署编排任务对应的脚本文件。
在一实施例中,为了便于实现本申请实施例提出的方法,本申请实施例提出了编排***。通过编排***可以实现本申请实施例提出的方法。其中,该编排***可以下载中软件部署装置中,使得软件部署装置可以通过编排***实现本申请。例如,可以通过编排***获取目标部署编排任务对应的脚本文件,其中,目标部署编排任务包括至少两个经过排列处理的子任务对应的脚本文件。
102、确定目标部署编排任务中子任务对应的排列顺序。
在一实施例中,在软件部署装置获取目标部署编排任务对应的脚本文件之后,可以确定目标部署编排任务中子任务对应的排列顺序。
例如,可以通过编排***确定目标部署编排任务中子任务对应的排列顺序。又例如,可以对目标部署编排任务的脚本文件进行遍历,得到目标部署编排任务中子任务对应的排列顺序。
103、基于排列顺序,对目标部署编排任务中子任务的脚本文件进行功能适配处理,得到子任务对应的适配后脚本文件。
在一实施例中,软件部署装置可以基于排列顺序,对目标部署编排任务中子任务的脚本文件进行功能适配处理,得到子任务对应的适配后脚本文件。
其中,对子任务的脚本文件进行功能适配处理可以指将子任务的脚本文件之间进行适配,使得脚本文件之间可互相配合工作。此外,对子任务的脚本文件进行功能适配处理还可以指令子任务的脚本文件和目标部署编排任务进行适配。
在一实施例中,可以通过编排***基于排列顺序,对目标部署编排任务中子任务的脚本文件进行功能适配处理,得到子任务对应的适配后脚本文件。
在一实施例中,不同子任务对应的适配方式可能会不同,因此,在目标部署编排任务中子任务的脚本文件进行功能适配处理时,可以确定每个子任务对应的功能适配方式。具体的,步骤“基于排列顺序,对目标部署编排任务中子任务的脚本文件进行功能适配处理,得到子任务对应的适配后脚本文件”,可以包括:
基于子任务的脚本文件,确定子任务对应的功能属性;
基于子任务对应的功能属性,确定子任务对应的功能适配方式;
基于排列顺序和每个子任务对应的适配方式,对子任务进行功能适配处理,得到子任务对应的适配后脚本文件。
其中,功能属性可以用于说明子任务所能完成的功能。例如,当子任务的功能属性是数据库部署编排时,则子任务的脚本文件可以实现数据库部署编排。又例如,当子任务的功能属性是部署包编排时,则子任务的脚本文件可以实现部署包编排。
在一实施例中,可以基于子任务的脚本文件,确定子任务对应的功能属性。例如,可以对子任务的脚本文件进行遍历,得到脚本文件中的注解信息。然后,可以根据脚本文件中的注解信息确定子任务对应的功能属性。
在一实施例中,可以基于子任务对应的功能属性,确定子任务对应的功能适配方式。其中,该功能适配方式可以说明子任务的执行逻辑,从而实现子任务对应的功能。
在一实施例中,可以基于排列顺序和每个子任务对应的适配方式,对子任务进行功能适配处理,得到子任务对应的适配后脚本文件。
例如,如图所4示,软件部署装置可以首先并行地执行数据库部署编排子任务和配置部署编排子任务。然后,软件部署装置可以执行部署包编排任务和环境选择编排任务。
在一实施例中,对于数据库部署编排子任务,步骤“基于排列顺序和每个子任务对应的适配方式,对子任务进行功能适配处理,得到子任务对应的适配后脚本文件”,可以包括:
基于排列顺序和当前子任务对应的适配方式,确定当前子任务的脚本文件对应的适配版本;
对目标部署编排任务对应的脚本文件进行解析,得到目标部署编排任务对应的环境信息;
将当前子任务的适配版本和目标部署编排任务的环境信息进行关联处理,得到当前子任务的关联后脚本文件。
在一实施例中,当当前子任务是数据库部署编排子任务时,可以基于编排顺序和当前子任务对应的适配方式,确定当前子任务的脚本文件对应的适配版本。其中,该适配版本可以指数据库对应的版本。例如,假设数据库是Oracle数据库,该数据库对应的版本可以是Oracle1.0或Oracle2.0,等等。
在一实施例中,可以对目标部署编排任务对应的脚本文件进行解析,得到目标部署编排任务所需的环境信息。其中,目标部署编排任务所需的环境信息可以用于说明目标部署编排任务需要部署到什么环境中,而子任务需要和目标部署编排任务进行适配,使得目标部署编排任务可以被实现。
例如,环境信息可以包括生产环境(Production environment,prod)、开发环境(Development environment,dev)或用户验收测试环境(User Acceptance environment,uat),等等。
在一实施例中,可以将当前子任务的适配版本和目标部署编排任务的环境信息进行关联处理,得到当前子任务的关联后脚本文件。例如,可以数据库的版本部署到目标部署编排任务的环境中。
例如,对于数据库部署编排子任务,可以确定目标部署编排任务对应的环境信息,例如,生产环境prod。然后,可以通过git数据库的项目选择子任务的脚本文件对应的适配版本。然后,可以将生产环境prod和适配版本进行关联。通过上述步骤,可以实现将子任务的数据库版本和目标部署编排任务对应的环境信息进行关联,使得数据库环境可以在编排***创建数据库环境的变量配置。
在一实施例中,当当前子任务是配置部署编排子任务时,步骤“基于排列顺序和每个子任务对应的适配方式,对子任务进行功能适配处理,得到子任务对应的适配后脚本文件”,可以包括:
基于排列顺序和当前子任务对应的适配方式,对目标部署编排任务对应的脚本文件进行解析,得到目标部署编排任务对应的环境信息;
将当前子任务对应的脚本文件和环境信息进行关联处理,得到适配后脚本文件。
在一实施例中,可以基于排列顺序和当前子任务对应的适配方式,对目标部署编排任务对应的脚本文件进行解析,得到目标部署编排任务对应的环境信息。例如,可以基于排列顺序和当前子任务对应的适配方式,对目标部署编排任务对应的脚本文件进行解析,得到Apollo配置环境。然后,可以将当前子任务对应的脚本文件和环境信息进行关联处理,得到适配后脚本文件。通过本申请实施例,可以实现在Apollo配置环境中创建相关变量。
在一实施例中,当当前子任务是部署包编排子任务时,步骤“基于排列顺序和每个子任务对应的适配方式,对子任务进行功能适配处理,得到子任务对应的适配后脚本文件”,可以包括:
基于排列顺序和当前子任务对应的适配方式,对当前子任务对应的脚本文件进行解析,得到部署包地址信息;
基于部署包地址信息,确定当前子任务所需的部署包;
对当前子任务所需的部署包进行编译处理,得到编译后部署包;
将编译后部署包和当前子任务的脚本文件进行关联处理,得到适配后脚本文件。
其中,部署包可以是通过编排***构建后存储在部署包列表中,且每个部署包在部署包列表中都具有对应的存储地址。
在一实施例中,可以基于排列顺序和当前子任务对应的适配方式,对当前子任务对应的脚本文件进行解析,得到部署包地址信息。然后,可以基于部署包地址信息,确定当前子任务所需的部署包。
其中,部署包地址信息可以指部署包在部署包列表中对应的存储地址。然后,可以根据部署包地址信息在部署包列表中确定子任务所需的部署包。
在一实施例中,可以对当前子任务所需的部署包进行编译处理,得到编译后部署包。通过对当前子任务所需的部署包进行编译处理,可以使得编译后部署包可以和目标部署编排任务进行适配。然后,可以将编译后部署包和当前子任务的脚本文件进行关联处理,得到适配后脚本文件。
在一实施例中,当当前子任务是环境选择编排子任务时,步骤“基于排列顺序和每个子任务对应的适配方式,对子任务进行功能适配处理,得到子任务对应的适配后脚本文件”,可以包括:
基于排列顺序和当前子任务对应的适配方式,对子任务的脚本文件进行解析,得到目标部署环境组信息和目标部署服务器;
基于目标部署环境组信息,获取目标部署环境组;
将目标部署环境组部署至所述目标部署服务器,得到部署后服务器;
将部署后服务器的地址信息和当前子任务的脚本文件进行关联处理,得到适配后脚本文件。
在一实施例中,可以基于排列顺序和当前子任务对应的适配方式,对子任务的脚本文件进行解析,得到目标部署环境组信息和目标部署服务器。
其中,目标环境组信息可以用于说明部署环境组对应的地址。其中,目标部署服务器可以用于说明要将目标部署编排任务部署到哪个目标部署服务器。
然后,可以基于目标部署环境组信息,获取目标部署环境组。例如,可以根据目标部署环境信息,在git数据库中获取目标部署环境组。
在一实施例中,可以将目标部署环境组部署至所述目标部署服务器,得到部署后服务器。然后,将部署后服务器的地址信息和当前子任务的脚本文件进行关联处理,得到适配后脚本文件。例如,可以在编排系列中,维护以组为单位的环境列表,如prod组。其中,一组prod组对应一组ip列表的环境服务器。
104、基于子任务对应的适配后脚本文件,对目标编排部署任务的脚本文件进行更新处理,得到目标脚本文件。
在一实施例中,可以基于子任务对应的适配后脚本文件,对目标编排部署任务的脚本文件进行更新处理,得到目标脚本文件。
例如,可以通过编排***基于子任务对应的适配后脚本文件,对目标编排部署任务的脚本文件进行更新处理,得到目标脚本文件。
又例如,可以对子任务对应的适配后脚本文件进行编译处理,得到目标脚本文件。
然后,可以保存目标脚本文件,从而建立一个独立环境的一整个关联体的目标编排部署任务。后续对目标脚本文件进行生产部署时,运维人员只需执行对应的编排任务,即可完成生产环境的部署。
在一实施例中,本申请实施例提出了一个编排***,该编排***可以由每一个子任务自由组合排列而成,其中,子任务可以包括数据库部署编排子任务,配置部署编排子任务,部署包编排子任务,环境选择编排子任务。开发人员可根据这些子任务,构建出属于符合自己的软件部署方案,从而减低复杂度,提高效率和可复用性。
例如,如图4所示,编排过程可以如下:
(1)运维和开发人员可以创建相关的目标部署编排任务。例如,可以创建生产环境编排任务或用户环境验收任务,等等。
(2)运维和开发人员可以对子任务进行排列组合。例如,可以新建子任务,其中,子任务可以并行执行,也可以顺序执行。例如,如图4所示,数据库部署编排子任务和配置部署编排子任务就是并行的两个编排任务。
其中,当目标部署编排任务是生产环境部署上线编排时,对于数据库部署编排子任务,可以配置数据库的版本和环境关联。具体的,选择编排***中设置好的数据库环境,如生产环境prod的Oracle数据库。然后,可以通过git数据库中子任务对应的脚本文件选择对应的数据库版本,从而将数据库版本和环境进行关联。
其中,对于配置部署编排子任务,可以让配置文件和环境进行关联。可以选择编排***中的Apollo配置环境,然后将子任务的脚本文件和配置环境进行关联。
(3)创建部署包编排子任务,该子任务可以选择和环境相适配的部署包。其中,部署包可以是编排***通过部署包地址信息自动找到并编译而成。此外,编排***在获取到部署包之后,还可以对部署包进行构建后存储在部署包列表中,方便下次使用。
(4)创建环境选择编排子任务,该子任务可以添加将要部署的环境组ip列。在编排***中,维护以组为单位的环境列表,如prod组。其中,一个环境组对应一组ip列表的环境服务器。
(5)保存编排任务。然后,便创立了独立环境的一整个关联体的目标编排部署任务。后续进行生产部署时,运维人员只需执行对应的目标编排部署任务,即可完成生产环境的部署,提高了软件部署的效率。
采用本实施例,可以获取目标部署编排任务对应的脚本文件,其中,目标部署编排任务包括至少两个经过排列处理的子任务对应的脚本文件;确定目标部署编排任务中子任务对应的排列顺序;基于排列顺序,对目标部署编排任务中子任务的脚本文件进行功能适配处理,得到子任务对应的适配后脚本文件;基于子任务对应的适配后脚本文件,对目标编排部署任务的脚本文件进行更新处理。通过本申请实施例以及本申请实施例提出的编排***,为资源和组件直接提供了依赖和关联的组合排列方法,开发人员可以选择多个组件和多个环境进行执行,也可以自由编排相关子任务,在实际生产过程中,可以复用相关编排模板,减少人为失误,提高软件上线效率。
为了更好地实施以上方法,相应的,本发明实施例还提供一种软件部署装置,该软件部署装置具体集成在终端或服务器中。
参考图5,该软件部署装置包括:
获取单元201,用于获取目标部署编排任务对应的脚本文件,其中,所述目标部署编排任务包括至少两个经过排列处理的子任务对应的脚本文件;
确定单元202,用于确定所述目标部署编排任务中子任务对应的排列顺序;
功能适配单元203,用于基于所述排列顺序,对所述目标部署编排任务中子任务的脚本文件进行功能适配处理,得到子任务对应的适配后脚本文件;
更新单元204,用于基于所述子任务对应的适配后脚本文件,对所述目标编排部署任务的脚本文件进行更新处理,得到目标脚本文件。
在一实施例中,所述功能适配单元203,可以包括:
功能属性确定子单元,用于基于子任务的脚本文件,确定所述子任务对应的功能属性;
方式确定子单元,用于基于所述子任务对应的功能属性,确定子任务对应的功能适配方式;
功能适配处理子单元,用于基于所述排列顺序和每个子任务对应的适配方式,对子任务进行功能适配处理,得到子任务对应的适配后脚本文件。
在一实施例中,所述功能适配处理子单元,可以包括:
版本确定模块,用于基于所述排列顺序和当前子任务对应的适配方式,确定所述当前子任务的脚本文件对应的适配版本;
第一脚本解析模块,用于对目标部署编排任务对应的脚本文件进行解析,得到所述目标部署编排任务对应的环境信息;
第一关联处理模块,用于将所述当前子任务的适配版本和所述目标部署编排任务的环境信息进行关联处理,得到当前子任务的关联后脚本文件。
在一实施例中,所述功能适配处理子单元,可以包括:
第二脚本解析模块,用于基于所述排列顺序和当前子任务对应的适配方式,对目标部署编排任务对应的脚本文件进行解析,得到所述目标部署编排任务对应的环境信息;
第二关联处理模块,用于将所述当前子任务对应的脚本文件和所述环境信息进行关联处理,得到所述适配后脚本文件。
在一实施例中,所述功能适配处理子单元,可以包括:
第三脚本解析模块,用于基于所述排列顺序和当前子任务对应的适配方式,对当前子任务对应的脚本文件进行解析,得到部署包地址信息;
部署包确定模块,用于基于所述部署包地址信息,确定所述当前子任务所需的部署包;
编译模块,用于对所述当前子任务所需的部署包进行编译处理,得到编译后部署包;
第三关联处理模块,用于将所述编译后部署包和所述当前子任务的脚本文件进行关联处理,得到所述适配后脚本文件。
在一实施例中,所述功能适配处理子单元,可以包括:
第四脚本解析模块,用于基于所述排列顺序和当前子任务对应的适配方式,对所述当前子任务的脚本文件进行解析,得到目标部署环境组信息和目标部署服务器;
获取模块,用于基于目标部署环境组信息,获取目标部署环境组;
部署模块,用于将所述目标部署环境组部署至所述目标部署服务器,得到部署后服务器;
第四关联处理模块,用于将所述部署后服务器的地址信息和所述当前子任务的脚本文件进行关联处理,得到所述适配后脚本文件。
在一实施例中,所述获取单元201,可以包括:
获取子单元,用于通过编排***获取目标部署编排任务对应的脚本文件,其中,所述目标部署编排任务包括至少两个经过排列处理的子任务对应的脚本文件。
在一实施例中,所述确定单元202,可以包括:
确定子单元,用于通过所述编排***确定所述目标部署编排任务中子任务对应的排列顺序。
在一实施例中,所述功能适配单元203,可以包括:
功能适配子单元,用于通过所述编排***基于所述排列顺序,对所述目标部署编排任务中子任务的脚本文件进行功能适配处理,得到子任务对应的适配后脚本文件。
在一实施例中,所述更新单元204,可以包括:
更新子单元,用于通过所述编排***基于所述子任务对应的适配后脚本文件,对所述目标编排部署任务的脚本文件进行更新处理,得到目标脚本文件。
采用本实施例,通过获取单元获取目标部署编排任务对应的脚本文件,其中,目标部署编排任务包括至少两个经过排列处理的子任务对应的脚本文件;确定单元确定目标部署编排任务中子任务对应的排列顺序;功能适配单元基于排列顺序,对目标部署编排任务中子任务的脚本文件进行功能适配处理,得到子任务对应的适配后脚本文件;更新单元基于子任务对应的适配后脚本文件,对目标编排部署任务的脚本文件进行更新处理,得到目标脚本文件,可以提高软件部署的效率。
此外,本发明实施例还提供一种计算机设备,该计算机设备可以为终端或者服务器,如图6所示,其示出了本发明实施例所涉及的计算机设备的结构示意图,具体来讲:
该计算机设备可以包括一个或者一个以上处理核心的处理器401、一个或一个以上计算机可读存储介质的存储器402、电源403和输入单元404等部件。本领域技术人员可以理解,图6中示出的计算机设备结构并不构成对计算机设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:
处理器401是该计算机设备的控制中心,利用各种接口和线路连接整个计算机设备的各个部分,通过运行或执行存储在存储器402内的软件程序和/或模块,以及调用存储在存储器402内的数据,执行计算机设备的各种功能和处理数据,从而对计算机设备进行整体监控。可选的,处理器401可包括一个或多个处理核心;优选的,处理器401可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作***、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器401中。
存储器402可用于存储软件程序以及模块,处理器401通过运行存储在存储器402的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器402可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作***、至少一个功能所需的应用程序等;存储数据区可存储根据计算机设备的使用所创建的数据等。此外,存储器402可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器402还可以包括存储器控制器,以提供处理器401对存储器402的访问。
计算机设备还包括给各个部件供电的电源403,优选的,电源403可以通过电源管理***与处理器401逻辑相连,从而通过电源管理***实现管理充电、放电、以及功耗管理等功能。电源403还可以包括一个或一个以上的直流或交流电源、再充电***、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。
该计算机设备还可包括输入单元404,该输入单元404可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。
尽管未示出,计算机设备还可以包括显示单元等,在此不再赘述。具体在本实施例中,计算机设备中的处理器401会按照如下的指令,将一个或一个以上的应用程序的进程对应的可执行文件加载到存储器402中,并由处理器401来运行存储在存储器402中的应用程序,从而实现各种功能,如下:
获取目标部署编排任务对应的脚本文件,其中,所述目标部署编排任务包括至少两个经过排列处理的子任务对应的脚本文件;
确定所述目标部署编排任务中子任务对应的排列顺序;
基于所述排列顺序,对所述目标部署编排任务中子任务的脚本文件进行功能适配处理,得到子任务对应的适配后脚本文件;
基于所述子任务对应的适配后脚本文件,对所述目标编排部署任务的脚本文件进行更新处理,得到目标脚本文件。
以上各个操作的具体实施可参见前面的实施例,在此不再赘述。
本领域普通技术人员可以理解,上述实施例的各种方法中的全部或部分步骤可以通过指令来完成,或通过指令控制相关的硬件来完成,该指令可以存储于一计算机可读存储介质中,并由处理器进行加载和执行。
为此,本发明实施例还提供一种计算机可读存储介质,其中存储有多条指令,该指令能够被处理器进行加载,以执行本发明实施例中的各种可选实现方式中提供的方法。
根据本申请的一个方面,还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述实施例中的各种可选实现方式中提供的方法。
以上各个操作的具体实施可参见前面的实施例,在此不再赘述。
其中,该存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取记忆体(RAM,Random Access Memory)、磁盘或光盘等。
由于该存储介质中所存储的指令,可以执行本发明实施例所提供的方法中的步骤,因此,可以实现本发明实施例所提供的方法所能实现的有益效果,详见前面的实施例,在此不再赘述。
以上对本发明实施例所提供的一种软件部署方法、装置、计算机设备和存储介质进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上,本说明书内容不应理解为对本发明的限制。
Claims (10)
1.一种软件部署方法,其特征在于,包括:
获取目标部署编排任务对应的脚本文件,其中,所述目标部署编排任务包括至少两个经过排列处理的子任务对应的脚本文件;
确定所述目标部署编排任务中子任务对应的排列顺序;
基于所述排列顺序,对所述目标部署编排任务中子任务的脚本文件进行功能适配处理,得到子任务对应的适配后脚本文件;
基于所述子任务对应的适配后脚本文件,对所述目标编排部署任务的脚本文件进行更新处理,得到目标脚本文件。
2.根据权利要求1所述的方法,其特征在于,基于所述排列顺序,对所述目标部署编排任务中子任务的脚本文件进行功能适配处理,得到子任务对应的适配后脚本文件,包括:
基于子任务的脚本文件,确定所述子任务对应的功能属性;
基于所述子任务对应的功能属性,确定子任务对应的功能适配方式;
基于所述排列顺序和每个子任务对应的适配方式,对子任务进行功能适配处理,得到子任务对应的适配后脚本文件。
3.根据权利要求2所述的方法,其特征在于,所述基于所述排列顺序和每个子任务对应的适配方式,对子任务进行功能适配处理,得到子任务对应的适配后脚本文件,包括:
基于所述排列顺序和当前子任务对应的适配方式,确定所述当前子任务的脚本文件对应的适配版本;
对目标部署编排任务对应的脚本文件进行解析,得到所述目标部署编排任务对应的环境信息;
将所述当前子任务的适配版本和所述目标部署编排任务的环境信息进行关联处理,得到当前子任务的关联后脚本文件。
4.根据权利要求2所述的方法,其特征在于,所述基于所述排列顺序和每个子任务对应的适配方式,对子任务进行功能适配处理,得到子任务对应的适配后脚本文件,包括:
基于所述排列顺序和当前子任务对应的适配方式,对目标部署编排任务对应的脚本文件进行解析,得到所述目标部署编排任务对应的环境信息;
将所述当前子任务对应的脚本文件和所述环境信息进行关联处理,得到所述适配后脚本文件。
5.根据权利要求2所述的方法,其特征在于,所述基于所述排列顺序和每个子任务对应的适配方式,对子任务进行功能适配处理,得到子任务对应的适配后脚本文件,包括:
基于所述排列顺序和当前子任务对应的适配方式,对当前子任务对应的脚本文件进行解析,得到部署包地址信息;
基于所述部署包地址信息,确定所述当前子任务所需的部署包;
对所述当前子任务所需的部署包进行编译处理,得到编译后部署包;
将所述编译后部署包和所述当前子任务的脚本文件进行关联处理,得到所述适配后脚本文件。
6.根据权利要求2所述的方法,其特征在于,所述基于所述排列顺序和每个子任务对应的适配方式,对子任务进行功能适配处理,得到子任务对应的适配后脚本文件,包括:
基于所述排列顺序和当前子任务对应的适配方式,对所述当前子任务的脚本文件进行解析,得到目标部署环境组信息和目标部署服务器;
基于目标部署环境组信息,获取目标部署环境组;
将所述目标部署环境组部署至所述目标部署服务器,得到部署后服务器;
将所述部署后服务器的地址信息和所述当前子任务的脚本文件进行关联处理,得到所述适配后脚本文件。
7.根据权利要求1所述的方法,其特征在于,所述获取目标部署编排任务对应的脚本文件,其中,所述目标部署编排任务包括至少两个经过排列处理的子任务对应的脚本文件,包括:
通过编排***获取目标部署编排任务对应的脚本文件,其中,所述目标部署编排任务包括至少两个经过排列处理的子任务对应的脚本文件;
所述确定所述目标部署编排任务中子任务对应的排列顺序,包括:
通过所述编排***确定所述目标部署编排任务中子任务对应的排列顺序;
所述基于所述排列顺序,对所述目标部署编排任务中子任务的脚本文件进行功能适配处理,得到子任务对应的适配后脚本文件,包括:
通过所述编排***基于所述排列顺序,对所述目标部署编排任务中子任务的脚本文件进行功能适配处理,得到子任务对应的适配后脚本文件;
所述基于所述子任务对应的适配后脚本文件,对所述目标编排部署任务的脚本文件进行更新处理,得到目标脚本文件,包括:
通过所述编排***基于所述子任务对应的适配后脚本文件,对所述目标编排部署任务的脚本文件进行更新处理,得到目标脚本文件。
8.一种软件部署装置,其特征在于,包括:
获取单元,用于获取目标部署编排任务对应的脚本文件,其中,所述目标部署编排任务包括至少两个经过排列处理的子任务对应的脚本文件;
确定单元,用于确定所述目标部署编排任务中子任务对应的排列顺序;
功能适配单元,用于基于所述排列顺序,对所述目标部署编排任务中子任务的脚本文件进行功能适配处理,得到子任务对应的适配后脚本文件;
更新单元,用于基于所述子任务对应的适配后脚本文件,对所述目标编排部署任务的脚本文件进行更新处理,得到目标脚本文件。
9.一种计算机设备,其特征在于,包括存储器,处理器及存储在存储器上并在处理器上运行的计算机程序,其中,所述处理器执行所述计算机程序时实现如权利要求1至7中任一项所述软件部署方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,当计算机程序在计算机上运行时,使得所述计算机执行如权利要求1至7中任一项所述软件部署方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211371945.5A CN115629770A (zh) | 2022-11-03 | 2022-11-03 | 一种软件部署方法、装置、存储介质和计算机设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211371945.5A CN115629770A (zh) | 2022-11-03 | 2022-11-03 | 一种软件部署方法、装置、存储介质和计算机设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115629770A true CN115629770A (zh) | 2023-01-20 |
Family
ID=84908914
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211371945.5A Pending CN115629770A (zh) | 2022-11-03 | 2022-11-03 | 一种软件部署方法、装置、存储介质和计算机设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115629770A (zh) |
-
2022
- 2022-11-03 CN CN202211371945.5A patent/CN115629770A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111580861A (zh) | 用于计算机环境迁移的基于模式的人工智能计划器 | |
CN107807815B (zh) | 分布式处理任务的方法和装置 | |
CN110942387A (zh) | 基于微服务的电票业务功能构建方法和*** | |
CN112085217B (zh) | 部署人工智能服务的方法、装置、设备及计算机介质 | |
CN113220431B (zh) | 跨云的分布式数据任务调度方法、设备及存储介质 | |
CN112115113B (zh) | 数据存储***、方法、装置、设备以及存储介质 | |
CN104166570B (zh) | 一种在线更新文件的方法、设备及*** | |
CN112395736A (zh) | 一种分布交互仿真***的并行仿真作业调度方法 | |
CN111459621B (zh) | 云仿真集成与调度方法、装置、计算机设备和存储介质 | |
CN103257852A (zh) | 一种分布式应用***的开发环境搭建的方法和装置 | |
CN111475137A (zh) | 一种软件开发需求预测的方法、***及设备 | |
CN115454629A (zh) | 基于云原生技术的ai算法与微服务调度方法及其装置 | |
CN111158800A (zh) | 基于映射关系构建任务dag的方法及装置 | |
CN111722597B (zh) | 准备用于工业控制***的工程数据的方法和*** | |
CN112306452A (zh) | 归并排序算法处理业务数据的方法、装置及*** | |
CN116932147A (zh) | 流式作业处理方法、装置、电子设备及介质 | |
CN106843822B (zh) | 一种执行代码生成方法及设备 | |
CN113495723B (zh) | 一种调用功能组件的方法、装置及存储介质 | |
CN115629770A (zh) | 一种软件部署方法、装置、存储介质和计算机设备 | |
CN115543534A (zh) | 训练任务的管理方法、装置、电子设备及存储介质 | |
CN112181403B (zh) | 开发运维一体化实现方法、装置、设备及可读存储介质 | |
CN114896049A (zh) | 电力人工智能平台作业任务调度方法、***、设备及介质 | |
CN114490694A (zh) | 一种业务规则处理方法、装置、服务器及存储介质 | |
CN113485894A (zh) | 一种数据采集方法、装置、设备及可读存储介质 | |
CN109284097A (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 |