CN115357258B - 应用的部署方法、装置、存储介质及电子装置 - Google Patents
应用的部署方法、装置、存储介质及电子装置 Download PDFInfo
- Publication number
- CN115357258B CN115357258B CN202211299201.7A CN202211299201A CN115357258B CN 115357258 B CN115357258 B CN 115357258B CN 202211299201 A CN202211299201 A CN 202211299201A CN 115357258 B CN115357258 B CN 115357258B
- Authority
- CN
- China
- Prior art keywords
- target
- deployment
- platform
- application
- 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.)
- Active
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
- 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
技术领域
本发明实施例涉及计算机领域,具体而言,涉及一种应用的部署方法、装置、存储介质及电子装置。
背景技术
随着云计算和虚拟化技术的不断发展,当下越来越多的企业拥抱云计算、迈入容器云时代,Kuberntes作为CNCF的首个毕业项目,在当前容器管理编排领域可谓是事实的标杆和标准,容器虚拟化技术在以互联网为代表的科技行业得到长足发展和应用,成为企业和公私云厂商基础设施的基石。
在相关技术中,部署运行于Kuberntes容器管理平台之上的各种服务应用时,通常需要部署人员编写部署文件。
由此可知,相关技术中存在应用部署效率低、难度大的问题。
针对相关技术中存在的上述问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种应用的部署方法、装置、存储介质及电子装置,以至少解决相关技术中存在的应用部署效率低、难度大的问题。
根据本发明的一个实施例,提供了一种应用的部署方法,包括:接收通过目标平台输入的用于部署目标应用的目标配置指令,其中,所述目标平台的显示页面中包括多个配置指令,所述目标配置指令为通过所述显示页面在多个所述配置指令中选择的指令;基于所述目标配置指令确定所述目标应用的部署信息;基于所述部署信息在目标集群中部署所述目标应用。
根据本发明的另一个实施例,提供了一种应用的部署装置,包括:接收模块,用于接收通过目标平台输入的用于部署目标应用的目标配置指令,其中,所述目标平台的显示页面中包括多个配置指令,所述目标配置指令为通过所述显示页面在多个所述配置指令中选择的指令;确定模块,用于基于所述目标配置指令确定所述目标应用的部署信息;部署模块,用于基于所述部署信息在目标集群中部署所述目标应用。
根据本发明的又一个实施例,还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
根据本发明的又一个实施例,还提供了一种电子装置,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行上述任一项方法实施例中的步骤。
通过本发明,接收通过目标平台输入的用于部署目标应用的目标配置指令,其中,目标平台的显示页面中包括多个配置指令,目标配置指令为通过显示页面在多个配置指令中选择的指令;根据配置指令确定目标应用的部署信息;根据部署信息在目标集群中部署目标应用。由于在部署目标应用时,可以直接从目标平台的显示页面中显示的多个配置指令中选择目标配置指令,无需编写部署文件,因此,可以解决相关技术中存在的应用部署效率低、难度大的问题,达到提高应用部署效率、降低部署难度的效果。
附图说明
图1是本发明实施例的一种应用的部署方法的移动终端的硬件结构框图;
图2是根据本发明实施例的应用的部署方法的流程图;
图3是根据本发明具体实施例的应用的部署方法流程图;
图4是根据本发明具体实施例的目标平台的显示界面显示流水线任务示意图;
图5是根据本发明具体实施例的目标平台的显示界面显示参数构建示意图;
图6是根据本发明具体实施例的目标平台的显示界面显示选择目标配置指令示意图;
图7是根据本发明具体实施例的目标平台的显示界面显示差异信息示意图;
图8是根据本发明具体实施例的目标平台的显示界面显示部署结果示意图;
图9是根据本发明具体实施例的通知平台接收到部署结果示意图;
图10是根据本发明实施例的应用的部署装置的结构框图。
具体实施方式
下文中将参考附图并结合实施例来详细说明本发明的实施例。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
部署运行于Kuberntes容器管理平台之上的各种服务应用,构建技术主要有:
1. 通过编写应用的YAML文件构建;
2. 通过Kustomize编写应用的文件构建;
3. 通过包管理器Helm编写应用文件构建;
4. 通过“helm_vars”编写脚本的方式构建;
以上四种方法都能够达到在容器容器平台上构建和发布应用的目的,但每种方法都有合适于各自不同的工作场景,技术背景,生产需要:
第一种方法,主要是通过手动编辑各种yaml资源清单文件,声明所需配置,并最终应用;
第二种方法,使用Kuberntes原生概念创建并复用资源配置YAML文件,以一个应用描述YAML文件为基础(Base YAML),然后通过 Overlay 的方式生成最终部署应用所需的描述文件;
第三种方法,通过管理Helm Chart,来封装Kubernetes上应用程序的一系列YAML文件,在部署应用的时候自定义应用程序的一些Metadata,把创建一个应用所需的所有Kubernetes API 对象声明文件组合并打包在一起,并最终应用;
第四种方法,通过自定义部署脚本,通过传参的方式进行部署。
然而,通过编写应用的YAML文件构建,和通过Kustomize编写应用的文件构建,这两种方法不仅考验开发人员对Kuberntes及其各种资源配置的熟练程度,而且无模版,手动编写,耗时长,输入错误率高,使用成本较高,整体效率低下。通过包管理器Helm编写应用文件构建,在处理的具体形式和原理上仍有诸多的不同。一般,Helm通过install选项来安装一个指定的Chart,但灵活度不高,功能结构单一,无法满足企业复杂环境下的生产需要。通过“helm_vars”编写脚本的方式构建,对部署人员的专业性要求较高,需要部署人员对脚本和传入的参数、部署的环境有一定的了解,才能正确手动部署应用程序。
针对相关技术中存在的上述问题,提出以下实施例。
本申请实施例中所提供的方法实施例可以在移动终端、计算机终端或者类似的运算装置中执行。以运行在移动终端上为例,图1是本发明实施例的一种应用的部署方法的移动终端的硬件结构框图。如图1所示,移动终端可以包括一个或多个(图1中仅示出一个)处理器102(处理器102可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)和用于存储数据的存储器104,其中,上述移动终端还可以包括用于通信功能的传输设备106以及输入输出设备108。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述移动终端的结构造成限定。例如,移动终端还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。
存储器104可用于存储计算机程序,例如,应用软件的软件程序以及模块,如本发明实施例中的应用的部署方法方法对应的计算机程序,处理器102通过运行存储在存储器104内的计算机程序,从而执行各种功能应用以及数据处理,即实现上述的方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至移动终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输装置106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括移动终端的通信供应商提供的无线网络。在一个实例中,传输装置106包括一个网络适配器(Network Interface Controller,简称为NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置106可以为射频(Radio Frequency,简称为RF)模块,其用于通过无线方式与互联网进行通讯。
在本实施例中提供了一种应用的部署方法,图2是根据本发明实施例的应用的部署方法的流程图,如图2所示,该流程包括如下步骤:
步骤S202,接收通过目标平台输入的用于部署目标应用的目标配置指令,其中,所述目标平台的显示页面中包括多个配置指令,所述目标配置指令为通过所述显示页面在多个所述配置指令中选择的指令;
步骤S204,基于所述目标配置指令确定所述目标应用的部署信息;
步骤S206,基于所述部署信息在目标集群中部署所述目标应用。
在上述实施例中,目标平台可以是Jenkins平台,Jenkins是一个开源软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件项目可以进行持续集成。Jenkins可以使用JenkinsPipline做流水线式的自动化构建、部署,将构建、部署的各个步骤组织串联起来。在初始时,可以在终端中安装并运行Jenkins。在目标平台安装后,在目标平台的显示页面中显示多个配置指令,用户在部署目标应用时,即可从多个配置指令中选择目标配置指令。并将选择的目标配置指令传入jenkinspipline文件中进行处理。其中,多个配置指令可以按照表格的方式平铺在显示页面中,用户可以通过点击、触摸、框选等方式在多个配置指令中选择目标配置指令。多个配置指令还可以叠放在显示页面中,在显示页面中通过点击下拉菜单,则可以显示出多个配置指令,用户可以通过点击下拉菜单,从显示出的多个配置指令中选择出目标配置指令。
在上述实施例中,目标平台接收到目标配置指令后,即可根据目标配置指令确定目标应用的部署信息,根据部署信息在目标集群中部署目标应用。其中,部署信息可以包括应用的部署环境,部署环境所在的分支、应用名称等。目标集群可以是k8s集群。
其中,上述步骤的执行主体可以为目标平台或者后台处理器等,但不限于此。
通过本发明,接收通过目标平台输入的用于部署目标应用的目标配置指令,其中,目标平台的显示页面中包括多个配置指令,目标配置指令为通过显示页面在多个配置指令中选择的指令;根据配置指令确定目标应用的部署信息;根据部署信息在目标集群中部署目标应用。由于在部署目标应用时,可以直接从目标平台的显示页面中显示的多个配置指令中选择目标配置指令,无需编写部署文件,因此,可以解决相关技术中存在的应用部署效率低、难度大的问题,达到提高应用部署效率、降低部署难度的效果。
在一个示例性实施例中,基于所述部署信息在目标集群中部署所述目标应用包括:获取代码管理平台中包括的已部署的应用的源代码信息;确定所述源代码信息与所述部署信息之间的差异信息;在所述目标平台显示所述差异信息,以提示目标对象确认是否继续部署所述目标应用;在接收到继续部署指令的情况下,基于所述部署信息在所述目标集群中部署所述目标应用。在本实施例中,代码管理平台可以为GitLab代码管理平台,Gitlab:使用Gitlab做源代码管理,且源代码按不同的环境创建了不同的分支,如tst分支(测试环境),stg分支(预发环境),prd分支(生产环境)。在进行应用部署时,可以首先确定目标集群中是否已经部署过该应用。在已经部署了该应用的情况下,可以从代码管理平台中获取已经部署过的应用的源代码信息,确定部署信息与源代码信息之间的差异信息,并在目标平台上显示差异信息,以提示目标对象确认是否要继续部署目标应用。在接收到继续部署指令的情况下,根据部署信息在目标集群中部署目标应用。其中,目标对象可以是部署目标应用的人员。当确定最新部署的应用与已经部署的应用之间存在差异时,可以在显示页面中显示差异信息,并询问是否继续部署,部署人员可以点击差异信息查看差异,并根据差异判断是否要继续部署。其中,确定差异信息可以通过helm-diff插件执行diff指令,对部署前后的内容进行对比,确定差异。
在上述实施例中,可以使用helmfile和helm-diff,helmfile和helm-diff是helm的两个插件,是在helmchart部署服务基础上的有力补充。helmfile可以提高部署的可观测性和可重复性,可以轻易区分环境,免去各种--set 造成的困扰;可以很方便对 helmchart 进行版本控制;并且通过helm-diff插件,使用helmfile在部署过程中可以清晰的展示当前的部署内容和部署前的内容差异。在仅使用helm chart基础上,通过使用这两个插件,部署过程将更加直观、高效、可控。
在上述实施例中,在部署页面点击继续部署按钮后,即可实时开启构建部署程序,更加利于服务多次快速迭代和部署,在部署过程中不需要临时编译,不需要将代码构建成docker image,部署程序仅仅关注部署本身,不涉及打包相关内容,部署过程更加简明清晰,可靠性更高,提高了部署效率。
在一个示例性实施例中,在所述目标平台显示所述差异信息,以提示目标对象确认是否继续部署所述目标应用之后,所述方法还包括:在接收到停止部署指令的情况下,停止部署所述目标应用。在本实施例中,在街上到停止部署指令的情况下,则认为无需进行继续部署,则停止部署目标应用。
在上述实施例中,在显示目标差异信息超过预定时间,未收到任何指令的情况下,可以自动执行继续部署操作,根据部署信息在目标集群中部署目标应用,同时,在创建时间节点,记录在部署目标应用之前的部署参数,并在目标应用部署完成后,在目标平台的显示界面中显示目标应用已部署完成、存在的差异信息,并在目标平台中显示时间节点以及提示信息,提示信息可以包括目标应用已经部署完成,是否需要还原。当接收到还原指令的情况下,则按照创建的时间节点以及部署参数,将目标集群的状态还原到部署目标应用之前。当接收到不还原指令的情况下,则删除该时间节点,目标应用部署完成。
在一个示例性实施例中,获取代码管理平台中包括的已部署的应用的源代码信息包括:向所述代码管理平台发送平台认证密钥,以指示所述代码管理平台验证所述平台认证密钥;在所述平台认证密钥验证成功的情况下,从所述代码管理平台获取所述源代码信息。在本实施例中,当目标平台初始安装并运行时,可以与代码管理平台创建凭证,即平台认证密钥。在获取代码管理平台中的源代码信息时,可以向代码管理平台发送平台认证密钥,代码管理平台验证该密钥,在验证成功的情况下,允许目标平台获取源代码信息。
在一个示例性实施例中,基于所述部署信息在目标集群中部署所述目标应用包括:确定所述部署信息中包括的所述目标应用待部署至的目标分支,其中,所述目标分支为目标环境下的分支;将所述目标应用部署至所述目标集群中的所述目标环境下的所述目标分支中。在本实施例中,在部署目标应用时,可以确定部署信息中包括的目标应用的应用名称,待部署至的目标环境、目标分支等。从代码管理平台中获取与目标应用的应用名称对应的部署包,将部署包部署至目标环境的目标分支中。
在一个示例性实施例中,在接收通过目标平台输入的用于部署目标应用的配置指令之前,所述方法还包括:安装并运行目标数据包,得到所述目标平台,其中,所述目标数据包为所述目标平台的安装数据包;创建所述目标平台与代码管理平台之间的平台认证密钥。在本实施例中,在目标集群中部署应用时,可以首先安装目标平台。可以获取目标平台的目标数据包,安装目标数据包,得到目标平台。由于在部署应用时,需要从代码管理平台中获取源代码,因此,在运行目标平台后,可以创建目标平台与代码管理平台之间的平台认证密钥。在之后从代码管理平台获取数据时,即可在获取指令中携带平台认证密钥,或者将平台认证密钥发送给代码管理平台。
在一个示例性实施例中,在基于所述部署信息在目标集群中部署所述目标应用之后,所述方法还包括:确定所述目标应用的部署结果;将所述部署结果发送至通知平台。在本实施例中,在目标集群中部署目标应用完成后,可以将部署结果发送给通知平台,其中,通知平台可以是通过目标平台指定的平台,例如企业微信等。部署结果可以包括部署成功、部署失败等。部署结果在还可以在目标平台的显示界面中显示,在部署过程中,可以在显示界面中显示部署进度,在部署成功时,显示部署结果为部署成功。当部署失败时,可以显示在确定部署失败时,各个部署子过程的状态,以方便部署人员确定部署失败的原因。
在上述实施例中,可以将部署结果通过webhook发送到企业微信群组,群组内所有人员都能看到部署结果。将部署结果通过webhook的方式发送到企业微信群组,更适用工作,效率更高。
下面结合具体实施方式对应用的部署方法进行说明:
图3是根据本发明具体实施例的应用的部署方法流程图,如图3所示,该流程包括:
①安装并运行Jenkins,创建对接GitLab代码管理平台的凭据,即平台间认证密钥。
②初次编写JenkinsPiplinescript 文件,定义代码部署的环境、分支、应用名称等信息,定义代码执行流程。Piplinescript 的步骤如下:
定义该流水线发布的环境、分支、应用名称,提供部署参数选择。
打印应用部署的信息,包括分支、环境、应用名称。
拉取GitLab平台上的源代码。
执行diff,对部署前后的内容进行对比。
接收用户选择,当用户确认部署时进行部署 ,否则终止部署。
发送应用部署成功的消息到企业微信群组。
③部署人员登录Jenkins平台,进入该流水线任务,点击对应环境、分支和服务。
④Jenkins开始执行流水线任务,开始部署代码。
⑤部署人员查看diff内容并确认部署。
⑥部署完毕,jenkins自动发送部署成功通知到企业微信。
应用部署具体流程步骤如下:
1、点击流水线任务,其中,目标平台的显示界面显示流水线任务示意图可参见附图4。
2、点击使用参数构建。其中,目标平台的显示界面显示参数构建示意图可参见附图5。
3、选择部署的分支、环境、项目、应用名称,即选择目标配置指令,并点击“开始构建”。其中,目标平台的显示界面显示选择目标配置指令示意图可参见附图6。
4、点击“是的,继续”进行应用部署。其中,目标平台的显示界面显示差异信息示意图可参见附图7。
5、部署成功即可看到部署结果。其中,目标平台的显示界面显示部署结果示意图可参见附图8。
6、在企业微信群可立即收到部署通知消息。其中,通知平台接收到部署结果示意图可参见附图9。
在前述实施例中,采用GitLab + Helmfile + Jenkins的方法,通过初次编写JenkinsPiplinescript文件,定义代码执行流程,从GitLab管理平台上拉取代码,执行hemlfile进行应用部署,点击触发即开启自动化部署。其中,b) Helmfile:是helm的插件工具,用于部署helm chart的声明性规范; 在JenkinsPiplinescript中就是使用Helmfile工具进行部署。1、使用的chart在部署程序开始之前已经构建完成,并且已经上传到gitlab仓库中,无需在部署过程中构建,提高了部署的效率。使用GitLab + Helmfile + Jenkins自动化的部署方法,有以下几个优点:
1、简单、快速,能大大缩短部署时需要的时间,正常情况下,10秒钟之内即可完成部署,如果操作熟悉还可以更加迅速,大大提高了工作和生产效率。
2、并且部署过程中无需输入任何命令,只需部署人员登录jenkins平台,点击执行流水线任务即可,无相关技术背景的人员也可立即操作部署,部署难度大大降低。
3、功能性强,适用广,一个JenkinsPipline可构建和发布多个环境、多个分支中的多个服务;且可以快速移植到其他Pipline中,可用性高。
4、一个JenkinsPipline可多次构建、快速迭代部署,测试、开发、运维等不同技术门类的人员的都可以使用,使用面广,兼容性好。
5、部署成功,JenkinsPipline会立即发送成功部署消息提示到企业微信群组,群组内其他成员都能接收看到部署成功提示,便于展开应用部署成功的后续操作,减少了工作沟通成本,提高了效率。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
在本实施例中还提供了一种应用的部署装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图10是根据本发明实施例的应用的部署装置的结构框图,如图10所示,该装置包括:
接收模块1002,用于接收通过目标平台输入的用于部署目标应用的目标配置指令,其中,所述目标平台的显示页面中包括多个配置指令,所述目标配置指令为通过所述显示页面在多个所述配置指令中选择的指令;
确定模块1004,用于基于所述目标配置指令确定所述目标应用的部署信息;
部署模块1006,用于基于所述部署信息在目标集群中部署所述目标应用。
在一个示例性实施例中,部署模块1006通过如下方式实现基于所述部署信息在目标集群中部署所述目标应用:获取代码管理平台中包括的已部署的应用的源代码信息;确定所述源代码信息与所述部署信息之间的差异信息;在所述目标平台显示所述差异信息,以提示目标对象确认是否继续部署所述目标应用;在接收到继续部署指令的情况下,基于所述部署信息在所述目标集群中部署所述目标应用。
在一个示例性实施例中,所述装置可以用于在所述目标平台显示所述差异信息,以提示目标对象确认是否继续部署所述目标应用之后,在接收到停止部署指令的情况下,停止部署所述目标应用。
在一个示例性实施例中,部署模块1006通过如下方式实现获取代码管理平台中包括的已部署的应用的源代码信息:向所述代码管理平台发送平台认证密钥,以指示所述代码管理平台验证所述平台认证密钥;在所述平台认证密钥验证成功的情况下,从所述代码管理平台获取所述源代码信息。
在一个示例性实施例中,部署模块1006通过如下方式实现基于所述部署信息在目标集群中部署所述目标应用:确定所述部署信息中包括的所述目标应用待部署至的目标分支,其中,所述目标分支为目标环境下的分支;将所述目标应用部署至所述目标集群中的所述目标环境下的所述目标分支中。
在一个示例性实施例中,所述装置还可以用于在接收通过目标平台输入的用于部署目标应用的配置指令之前,安装并运行目标数据包,得到所述目标平台,其中,所述目标数据包为所述目标平台的安装数据包;创建所述目标平台与代码管理平台之间的平台认证密钥。
在一个示例性实施例中,所述装置还可以用于在基于所述部署信息在目标集群中部署所述目标应用之后,确定所述目标应用的部署结果;将所述部署结果发送至通知平台。
需要说明的是,上述各个模块是可以通过软件或硬件来实现的,对于后者,可以通过以下方式实现,但不限于此:上述模块均位于同一处理器中;或者,上述各个模块以任意组合的形式分别位于不同的处理器中。
本发明的实施例还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
在一个示例性实施例中,上述计算机可读存储介质可以包括但不限于:U盘、只读存储器(Read-Only Memory,简称为ROM)、随机存取存储器(Random Access Memory,简称为RAM)、移动硬盘、磁碟或者光盘等各种可以存储计算机程序的介质。
本发明的实施例还提供了一种电子装置,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。
在一个示例性实施例中,上述电子装置还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。
本实施例中的具体示例可以参考上述实施例及示例性实施方式中所描述的示例,本实施例在此不再赘述。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (8)
1.一种应用的部署方法,其特征在于,包括:
接收通过目标平台输入的用于部署目标应用的目标配置指令,其中,所述目标平台的显示页面中包括多个配置指令,所述目标配置指令为通过所述显示页面在多个所述配置指令中选择的指令;
基于所述目标配置指令确定所述目标应用的部署信息;
基于所述部署信息在目标集群中部署所述目标应用;
基于所述部署信息在目标集群中部署所述目标应用包括:获取代码管理平台中包括的已部署的应用的源代码信息;确定所述源代码信息与所述部署信息之间的差异信息;在所述目标平台显示所述差异信息,以提示目标对象确认是否继续部署所述目标应用;在接收到继续部署指令的情况下,基于所述部署信息在所述目标集群中部署所述目标应用;
获取代码管理平台中包括的已部署的应用的源代码信息包括:向所述代码管理平台发送平台认证密钥,以指示所述代码管理平台验证所述平台认证密钥;在所述平台认证密钥验证成功的情况下,从所述代码管理平台获取所述源代码信息。
2.根据权利要求1所述的方法,其特征在于,在所述目标平台显示所述差异信息,以提示目标对象确认是否继续部署所述目标应用之后,所述方法还包括:
在接收到停止部署指令的情况下,停止部署所述目标应用。
3.根据权利要求1所述的方法,其特征在于,基于所述部署信息在目标集群中部署所述目标应用包括:
确定所述部署信息中包括的所述目标应用待部署至的目标分支,其中,所述目标分支为目标环境下的分支;
将所述目标应用部署至所述目标集群中的所述目标环境下的所述目标分支中。
4.根据权利要求1所述的方法,其特征在于,在接收通过目标平台输入的用于部署目标应用的配置指令之前,所述方法还包括:
安装并运行目标数据包,得到所述目标平台,其中,所述目标数据包为所述目标平台的安装数据包;
创建所述目标平台与代码管理平台之间的平台认证密钥。
5.根据权利要求1所述的方法,其特征在于,在基于所述部署信息在目标集群中部署所述目标应用之后,所述方法还包括:
确定所述目标应用的部署结果;
将所述部署结果发送至通知平台。
6.一种应用的部署装置,其特征在于,包括:
接收模块,用于接收通过目标平台输入的用于部署目标应用的目标配置指令,其中,所述目标平台的显示页面中包括多个配置指令,所述目标配置指令为通过所述显示页面在多个所述配置指令中选择的指令;
确定模块,用于基于所述目标配置指令确定所述目标应用的部署信息;
部署模块,用于基于所述部署信息在目标集群中部署所述目标应用;
所述部署模块通过如下方式实现基于所述部署信息在目标集群中部署所述目标应用:获取代码管理平台中包括的已部署的应用的源代码信息;确定所述源代码信息与所述部署信息之间的差异信息;在所述目标平台显示所述差异信息,以提示目标对象确认是否继续部署所述目标应用;在接收到继续部署指令的情况下,基于所述部署信息在所述目标集群中部署所述目标应用;
所述部署模块通过如下方式实现获取代码管理平台中包括的已部署的应用的源代码信息:向所述代码管理平台发送平台认证密钥,以指示所述代码管理平台验证所述平台认证密钥;在所述平台认证密钥验证成功的情况下,从所述代码管理平台获取所述源代码信息。
7.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行所述权利要求1至5任一项中所述的方法。
8.一种电子装置,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行所述权利要求1至5任一项中所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211299201.7A CN115357258B (zh) | 2022-10-24 | 2022-10-24 | 应用的部署方法、装置、存储介质及电子装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211299201.7A CN115357258B (zh) | 2022-10-24 | 2022-10-24 | 应用的部署方法、装置、存储介质及电子装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115357258A CN115357258A (zh) | 2022-11-18 |
CN115357258B true CN115357258B (zh) | 2022-12-27 |
Family
ID=84007781
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211299201.7A Active CN115357258B (zh) | 2022-10-24 | 2022-10-24 | 应用的部署方法、装置、存储介质及电子装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115357258B (zh) |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110413288B (zh) * | 2019-07-31 | 2023-05-09 | 新华三大数据技术有限公司 | 应用部署方法、装置、服务器及存储介质 |
CN112506615B (zh) * | 2020-12-11 | 2023-11-03 | 浪潮电子信息产业股份有限公司 | JavaWeb应用部署方法、装置、设备及存储介质 |
US11805102B2 (en) * | 2021-02-05 | 2023-10-31 | Red Hat, Inc. | Remote management of software on private networks |
CN114253599A (zh) * | 2021-12-23 | 2022-03-29 | 中国建设银行股份有限公司 | 版本部署方法、版本部署装置、电子设备和存储介质 |
-
2022
- 2022-10-24 CN CN202211299201.7A patent/CN115357258B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN115357258A (zh) | 2022-11-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9602599B2 (en) | Coordinating application migration processes | |
CN110752947A (zh) | 一种k8s集群部署方法及装置,一种部署平台 | |
CN110096424B (zh) | 测试的处理方法、装置、电子设备及存储介质 | |
US20090307763A1 (en) | Automated Test Management System and Method | |
US20140130036A1 (en) | Methods and Systems for Automated Deployment of Software Applications on Heterogeneous Cloud Environments | |
CN108616384B (zh) | 一种集中式的服务管理部署工具及方法 | |
CN111198695A (zh) | 微服务治理管理平台的自动化部署方法和电子设备 | |
US11237949B2 (en) | Systems and methods for on-demand container-based development environments | |
CN109558147A (zh) | 一种基于Jenkins和Gitlab的持续集成平台构建方法 | |
CN111580926A (zh) | 模型发布方法、模型部署方法、装置、设备及存储介质 | |
CN111324522A (zh) | 一种自动化测试系统及方法 | |
CN107395747B (zh) | 一种基于stf平台的高扩展方法 | |
WO2017041499A1 (zh) | 一种软件升级方法、系统和计算机可读存储介质 | |
CN113687858A (zh) | 配置文件的检查方法、装置、电子设备及存储介质 | |
CN109992295B (zh) | 一种版本管理方法和服务器 | |
CN113127009A (zh) | 大数据管理平台的自动化部署方法和装置 | |
CN110727575A (zh) | 一种信息处理方法、系统、装置、以及存储介质 | |
CN115357258B (zh) | 应用的部署方法、装置、存储介质及电子装置 | |
CN111897565A (zh) | 基于物联网的数据处理方法、装置和设备 | |
CN114253564A (zh) | 一种容器集群镜像模板的生成方法及装置 | |
US11425203B2 (en) | Commissioning a virtualized network function | |
CN115390861A (zh) | 资源部署方法、装置及设备和存储介质 | |
CN115237441A (zh) | 一种基于云平台的升级测试方法、装置及介质 | |
CN111427770B (zh) | 一种资源测试方法及相关设备 | |
CN112564979A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |