CN114356346A - 应用程序部署方法、装置、存储介质以及电子设备 - Google Patents
应用程序部署方法、装置、存储介质以及电子设备 Download PDFInfo
- Publication number
- CN114356346A CN114356346A CN202210002273.4A CN202210002273A CN114356346A CN 114356346 A CN114356346 A CN 114356346A CN 202210002273 A CN202210002273 A CN 202210002273A CN 114356346 A CN114356346 A CN 114356346A
- Authority
- CN
- China
- Prior art keywords
- program code
- target
- address
- program
- application
- 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 43
- 238000012360 testing method Methods 0.000 claims abstract description 60
- 238000013515 script Methods 0.000 claims description 34
- 230000015654 memory Effects 0.000 claims description 18
- 238000004590 computer program Methods 0.000 claims description 11
- 238000004891 communication Methods 0.000 description 10
- 238000012545 processing Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 6
- 238000012986 modification Methods 0.000 description 6
- 230000004048 modification Effects 0.000 description 6
- 230000010354 integration Effects 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
- 238000005034 decoration Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000002085 persistent effect Effects 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
Images
Landscapes
- Stored Programmes (AREA)
Abstract
本发明公开了一种应用程序部署方法、装置、存储介质以及电子设备。该方法包括:获取待部署的应用程序注册的应用服务信息,其中,应用服务信息包括应用程序在存储仓库中的存储地址、应用程序的部署方式、要部署到的目标服务器的目标IP地址;调用流水线接口,启动流水线;通过流水线和存储地址获取应用程序的程序代码;对程序代码进行测试;在程序代码测试通过的情况下,根据目标服务器的目标IP地址,按照部署方式,将编译后的程序代码部署到目标服务器中。本发明解决了应用程序部署方法步骤繁琐部署应用程序效率低的技术问题。
Description
技术领域
本发明涉及计算机领域,具体而言,涉及一种应用程序部署方法、装置、存储介质以及电子设备。
背景技术
现有技术中,每部署一个应用程序就需要编写一个流水线脚本,步骤繁琐。如果有多个应用程序均需要部署,则需要编写多个流水线脚本,造成部署应用程序的步骤繁琐,部署应用程序效率低。
发明内容
本发明实施例提供了一种应用程序部署方法、装置、存储介质以及电子设备,以至少解决应用程序部署方法步骤繁琐以及使用成本高的技术问题。
根据本发明实施例的一个方面,提供了一种应用程序部署方法,包括:获取待部署的应用程序注册的应用服务信息,其中,上述应用服务信息包括上述应用程序在存储仓库中的存储地址、上述应用程序的部署方式、要部署到的目标服务器的目标IP地址;调用流水线接口,启动流水线;通过上述流水线和上述存储地址获取上述应用程序的程序代码;对上述程序代码进行测试;在上述程序代码测试通过的情况下,根据上述目标服务器的目标IP地址,按照上述部署方式,将编译后的上述程序代码部署到上述目标服务器中。
根据本发明实施例的另一方面,提供了一种应用程序部署装置,包括:第一获取模块,用于获取待部署的应用程序注册的应用服务信息,其中,上述应用服务信息包括上述应用程序在存储仓库中的存储地址、上述应用程序的部署方式、要部署到的目标服务器的目标IP地址;调用模块,用于调用流水线接口,启动流水线;第二获取模块,用于通过上述流水线和上述存储地址获取上述应用程序的程序代码;测试模块,用于对上述程序代码进行测试;部署模块,用于在上述程序代码测试通过的情况下,根据上述目标服务器的目标IP地址,按照上述部署方式,将编译后的上述程序代码部署到上述目标服务器中。
作为一种可选的示例,上述第二获取模块包括:调用单元,用于在启动上述流水线后,调用目标脚本,其中,上述目标脚本为自动执行脚本;拉取单元,用于通过上述目标脚本访问上述存储地址,从上述存储地址拉取上述应用程序的上述程序代码。
作为一种可选的示例,上述测试模块包括:检查单元,用于检查上述程序代码的完整性;测试单元,用于在上述程序代码完整的情况下,使用测试用例对上述程序代码进行自动化测试。
作为一种可选的示例,上述在部署模块包括:获取单元,用于获取用于部署应用程序的服务器集合中每一个服务器的IP地址,其中,上述服务器集合包括上述目标服务器;比对单元,用于将上述目标IP地址与每一个上述IP地址进行比对;确定单元,用于在任意一个上述IP地址与上述目标IP地址相同的情况下,将与上述目标IP地址相同的上述IP地址所对应的服务器确定为上述目标服务器。
作为一种可选的示例,上述部署模块包括:第一发布单元,用于在上述目标服务器为虚拟机或物理机的情况下,通过目标脚本自动将上述程序代码发布到上述目标服务器中;第二发布单元,用于在上述目标服务器为集群中的服务器的情况下,将编译后的上述程序代码构建为镜像,将构建的上述镜像推送到镜像仓库,并通过上述目标脚本将上述镜像发布到上述目标服务器中。
作为一种可选的示例,上述装置还包括:编译模块,用于在上述程序代码测试通过的情况下,对上述程序代码进行编译。
作为一种可选的示例,上述应用服务信息中还包括编译模板,上述编译模块包括:编译单元,用于根据上述编译模板,对上述程序代码进行编译,得到编译后的上述程序代码,其中,不同的上述编译模板对应不同的语言类型。
根据本发明实施例的又一方面,还提供了一种存储介质,该存储介质中存储有计算机程序,其中,该计算机程序被处理器运行时执行上述应用程序部署方法。
根据本发明实施例的又一方面,还提供了一种电子设备,包括存储器和处理器,上述存储器中存储有计算机程序,上述处理器被设置为通过上述计算机程序执行上述的应用程序部署方法。
在本发明实施例中,采用了获取待部署的应用程序注册的应用服务信息,其中,上述应用服务信息包括上述应用程序在存储仓库中的存储地址、上述应用程序的部署方式、要部署到的目标服务器的目标IP地址;调用流水线接口,启动流水线;通过上述流水线和上述存储地址获取上述应用程序的程序代码;对上述程序代码进行测试;在上述程序代码测试通过的情况下,根据上述目标服务器的目标IP地址,按照上述部署方式,将编译后的上述程序代码部署到上述目标服务器中的方法,由于在上述方法中,应用程序注册信息支持重复使用,可以直接调用流水线进行测试,测试后编译并部署,从而实现了应用程序部署方法步骤简化的目的,进而解决了应用程序部署方法步骤繁琐,部署应用程序效率低的技术问题。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例的一种可选的应用程序部署方法的流程图;
图2是根据本发明实施例的一种可选的应用程序部署方法的具体流程图;
图3是根据本发明实施例的一种可选的应用程序部署装置的结构示意图;
图4是根据本发明实施例的一种可选的电子设备的示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
根据本发明实施例的第一方面,提供了一种应用程序部署方法,可选地,如图1所示,上述方法包括:
S102,获取待部署的应用程序注册的应用服务信息,其中,应用服务信息包括应用程序在存储仓库中的存储地址、应用程序的部署方式、要部署到的目标服务器的目标IP地址;
S104,调用流水线接口,启动流水线;
S106,通过流水线和存储地址获取应用程序的程序代码;
S108,对程序代码进行测试;
S110,在程序代码测试通过的情况下,根据目标服务器的目标IP地址,按照部署方式,将编译后的程序代码部署到目标服务器中。
可选地,本实施例中,提供了一种部署应用程序的方法。部署为将代码发布到非本地环境上的动作。对于一个应用程序,当应用程序需要部署时,可以使用本方法,注册应用程序的应用服务信息。应用服务信息包括应用程序在存储仓库中的存储地址、应用程序的部署方式、要部署到的目标服务器的目标IP地址。注册应用服务信息后,应用服务信息可以重复使用。对于一个应用程序,需要重复部署时,只需要使用已经注册的应用服务信息进行部署即可。在注册应用服务信息后,可以调用流水线接口,启动流水线。流水线作业可以根据应用程序注册的应用服务信息中的代码的存储地址来获取应用程序的程序代码,然后对程序代码进行测试,测试通过后,则可以对程序代码进行编译,将编译后的程序代码部署到目标服务器中。
可选地,本实施例中,流水线可以包括持续集成(Continuous integration,简称CI)/持续部署(Continuous Deployment,进程CD)。CI:在持续集成环境中,开发人员将会频繁的提交代码到主干。这些新提交在最终合并到主线之前,都需要通过编译和自动化测试流进行验证,以保障所有的提交在合并主线之后的质量问题,对可能出现的一些问题进行预警。CD:为持续部署。通过这个方式,任何修改通过了所有已有的工作流就会直接和客户见面。没有人为干预(没有一键部署按钮),只有当一个修改在工作流中构建失败才能阻止它部署到产品线。流水线通过CI与CD,从而将应用程序部署到目标服务器。
由于本实施例中应用程序注册信息支持重复使用,可以直接调用流水线进行测试,测试后编译并部署,从而实现了应用程序部署方法步骤简化的目的,进而解决了应用程序部署方法步骤繁琐,部署应用程序效率低的技术问题。
作为一种可选的示例,通过流水线和存储地址获取应用程序的程序代码包括:
在启动流水线后,调用目标脚本,其中,目标脚本为自动执行脚本;
通过目标脚本访问存储地址,从存储地址拉取应用程序的程序代码。
可选地,本实施例中,可以通过流水线获取应用程序的应用服务信息中的存储地址,存储地址标志了应用程序的代码的存储位置。流水线调用目标脚本,来从存储位置拉取应用程序的程序代码。
作为一种可选的示例,对程序代码进行测试包括:
检查程序代码的完整性;
在程序代码完整的情况下,使用测试用例对程序代码进行自动化测试。
可选地,本实施例中,在对应用程序的程序代码进行测试时,首先要查看程序代码是否完整。查看代码是否完整。可以为程序代码设置校验码,通过对校验码进行校验来查看程序代码是否完整。如果程序代码完整,则对程序代码进行自动化的测试。
作为一种可选的示例,在程序代码测试通过的情况下,根据目标服务器的目标IP地址,按照部署方式,将程序代码部署到目标服务器中包括:
获取用于部署应用程序的服务器集合中每一个服务器的IP地址,其中,服务器集合包括目标服务器;
将目标IP地址与每一个IP地址进行比对;
在任意一个IP地址与目标IP地址相同的情况下,将与目标IP地址相同的IP地址所对应的服务器确定为目标服务器。
可选地,本实施例中,在将应用程序部署到目标服务器时,可以获取应用程序的应用服务信息中的目标服务器的目标IP地址,然后比对所有的服务器的IP地址与该目标IP地址,直到从所有服务器中查找到目标服务器,将应用程序部署到目标服务器。
作为一种可选的示例,在程序代码测试通过的情况下,根据目标服务器的目标IP地址,按照部署方式,将程序代码部署到目标服务器中包括:
在目标服务器为虚拟机或物理机的情况下,通过目标脚本自动将程序代码发布到目标服务器中;
在目标服务器为集群中的服务器的情况下,将编译后的程序代码构建为镜像,将构建的镜像推送到镜像仓库,并通过目标脚本将镜像发布到目标服务器中。
可选地,本实施例中,目标服务器可以有不用的类型。例如,目标服务器可以为物理机或者虚拟机。如果要将应用程序部署到物理机或者虚拟机上,则可以直接调用目标脚本将应用程序的程序代码部署到物理机或者虚拟机上。而如果目标服务器为集群中的服务器,则在将应用程序的程序代码部署到目标服务器时,可以将应用程序的程序代码构建镜像,然后,将构建的镜像发布到目标服务器。本实施例中,应用服务信息中可以包含目标服务器的类型,从而确定部署程序代码的方式。
作为一种可选的示例,上述方法还包括:
在程序代码测试通过的情况下,对程序代码进行编译。
可选地,本实施例中,对应用程序的程序代码可以进行编译,编译时,可以将应用程序的程序代码编译为不同的语言类型,以适应不同的环境。应用程序的应用服务信息中还可以包括编译方式,以及编译后的语言类型,从而可以在编译应用程序的程序代码时,选择对应的编译方式编译应用程序的程序代码。
作为一种可选的示例,应用服务信息中还包括编译模板,在程序代码测试通过的情况下,对程序代码进行编译包括:
根据编译模板,对程序代码进行编译,得到编译后的程序代码,其中,不同的编译模板对应不同的语言类型。
可选地,本实施例中,可以预先设置不同的编译模板。不同的编译模板对应不同的语言类型。当对应用程序的程序代码进行编译时,选择合适的编译模板自动进行编译即可。
可选地,本实施例中以部署一个主机控制台服务(java)举例,具体流程如图2所示:
1.通过自研CI/CD平台提供统一的web界面注册主机控制台应用服务信息,包括服务的在存储仓库中的存储地址gitURL、代码分支、部署方式、编译模板,即服务绑定的模板(java)、部署的目标服务器的网际互连协议地址(Internet Protocol,IP);
2.流水线模块即CI/CD配置化部署的抽象描述,通过主机控制台流水线的设置,自研CI/CD平台通过流水线的sdk接口调用流水线。本实施例中流水线可以使用Jenkins流水线;
3.流水线启动后,调用shell脚本从代码仓库gitlab上面拉取主机控制台服务的代码,执行代码检查、自动化测试,根据绑定的编译模板(java),执行编译。
可选地,本实施例中根据部署方式的不同,选择不同的发布流程:
1.虚拟机或者物理机部署:通过shell脚本自动发布到目标服务器;
2.容器化部署;将编译后的制品构建成镜像,并推送到Image仓库,通过shell脚本发布到目标服务器。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
根据本申请实施例的另一方面,还提供了一种应用程序部署装置,如图3所示,包括:
第一获取模块302,用于获取待部署的应用程序注册的应用服务信息,其中,应用服务信息包括应用程序在存储仓库中的存储地址、应用程序的部署方式、要部署到的目标服务器的目标IP地址;
调用模块304,用于调用流水线接口,启动流水线;
第二获取模块306,用于通过流水线和存储地址获取应用程序的程序代码;
测试模块308,用于对程序代码进行测试;
部署模块310,用于在程序代码测试通过的情况下,根据目标服务器的目标IP地址,按照部署方式,将编译后的程序代码部署到目标服务器中。
可选地,本实施例中,提供了一种部署应用程序的装置。部署为将代码发布到非本地环境上的动作。对于一个应用程序,当应用程序需要部署时,可以使用本装置,注册应用程序的应用服务信息。应用服务信息包括应用程序在存储仓库中的存储地址、应用程序的部署方式、要部署到的目标服务器的目标IP地址。注册应用服务信息后,应用服务信息可以重复使用。对于一个应用程序,需要重复部署时,只需要使用已经注册的应用服务信息进行部署即可。在注册应用服务信息后,可以调用流水线接口,启动流水线。流水线作业可以根据应用程序注册的应用服务信息中的代码的存储地址来获取应用程序的程序代码,然后对程序代码进行测试,测试通过后,则可以对程序代码进行编译,将编译后的程序代码部署到目标服务器中。
可选地,本实施例中,流水线可以包括持续集成(Continuous integration,简称CI)/持续部署(Continuous Deployment,进程CD)。CI:在持续集成环境中,开发人员将会频繁的提交代码到主干。这些新提交在最终合并到主线之前,都需要通过编译和自动化测试流进行验证,以保障所有的提交在合并主线之后的质量问题,对可能出现的一些问题进行预警。CD:为持续部署。通过这个方式,任何修改通过了所有已有的工作流就会直接和客户见面。没有人为干预(没有一键部署按钮),只有当一个修改在工作流中构建失败才能阻止它部署到产品线。流水线通过CI与CD,从而将应用程序部署到目标服务器。
由于本实施例中应用程序注册信息支持重复使用,可以直接调用流水线进行测试,测试后编译并部署,从而实现了应用程序部署方法步骤简化的目的,进而解决了应用程序部署方法步骤繁琐,部署应用程序效率低的技术问题
作为一种可选的示例,上述第二获取模块包括:
调用单元,用于在启动流水线后,调用目标脚本,其中,目标脚本为自动执行脚本;拉取单元,用于通过目标脚本访问存储地址,从存储地址拉取应用程序的程序代码。
可选地,本实施例中,可以通过流水线获取应用程序的应用服务信息中的存储地址,存储地址标志了应用程序的代码的存储位置。流水线调用目标脚本,来从存储位置拉取应用程序的程序代码。
作为一种可选的示例,上述测试模块包括:
检查单元,用于检查程序代码的完整性;测试单元,用于在程序代码完整的情况下,使用测试用例对程序代码进行自动化测试。
可选地,本实施例中,在对应用程序的程序代码进行测试时,首先要查看程序代码是否完整。查看代码是否完整。可以为程序代码设置校验码,通过对校验码进行校验来查看程序代码是否完整。如果程序代码完整,则对程序代码进行自动化的测试。
作为一种可选的示例,上述部署模块包括:
获取单元,用于获取用于部署应用程序的服务器集合中每一个服务器的IP地址,其中,服务器集合包括目标服务器;
比对单元,用于将目标IP地址与每一个IP地址进行比对;
确定单元,用于在任意一个IP地址与目标IP地址相同的情况下,将与目标IP地址相同的IP地址所对应的服务器确定为目标服务器。
可选地,本实施例中,在将应用程序部署到目标服务器时,可以获取应用程序的应用服务信息中的目标服务器的目标IP地址,然后比对所有的服务器的IP地址与该目标IP地址,直到从所有服务器中查找到目标服务器,将应用程序部署到目标服务器。
作为一种可选的示例,上述部署模块包括:
第一发布单元,用于在目标服务器为虚拟机或物理机的情况下,通过目标脚本自动将程序代码发布到目标服务器中;
第二发布单元,用于在目标服务器为集群中的服务器的情况下,将编译后的程序代码构建为镜像,将构建的镜像推送到镜像仓库,并通过目标脚本将镜像发布到目标服务器中。
可选地,本实施例中,目标服务器可以有不用的类型。例如,目标服务器可以为物理机或者虚拟机。如果要将应用程序部署到物理机或者虚拟机上,则可以直接调用目标脚本将应用程序的程序代码部署到物理机或者虚拟机上。而如果目标服务器为集群中的服务器,则在将应用程序的程序代码部署到目标服务器时,可以将应用程序的程序代码构建镜像,然后,将构建的镜像发布到目标服务器。本实施例中,应用服务信息中可以包含目标服务器的类型,从而确定部署程序代码的方式。
作为一种可选的示例,上述装置还包括:
编译模块,用于在程序代码测试通过的情况下,对程序代码进行编译。
可选地,本实施例中,对应用程序的程序代码可以进行编译,编译时,可以将应用程序的程序代码编译为不同的语言类型,以适应不同的环境。应用程序的应用服务信息中还可以包括编译方式,以及编译后的语言类型,从而可以在编译应用程序的程序代码时,选择对应的编译方式编译应用程序的程序代码。
作为一种可选的示例,上述编译模块包括:
编译单元,用于根据编译模板,对程序代码进行编译,得到编译后的程序代码,其中,不同的编译模板对应不同的语言类型。
可选地,本实施例中,可以预先设置不同的编译模板。不同的编译模板对应不同的语言类型。当对应用程序的程序代码进行编译时,选择合适的编译模板自动进行编译即可。
本实施例的其他示例请参见上述示例,在此不在赘述。
图4是根据本申请实施例的一种可选的电子设备的结构框图,如图4所示,包括处理器402、通信接口404、存储器406和通信总线408,其中,处理器402、通信接口404和存储器406通过通信总线408完成相互间的通信,其中,
存储器406,用于存储计算机程序;
处理器402,用于执行存储器406上所存放的计算机程序时,实现如下步骤:
获取待部署的应用程序注册的应用服务信息,其中,应用服务信息包括应用程序在存储仓库中的存储地址、应用程序的部署方式、要部署到的目标服务器的目标IP地址;
调用流水线接口,启动流水线;
通过流水线和存储地址获取应用程序的程序代码;
对程序代码进行测试;
在程序代码测试通过的情况下,根据目标服务器的目标IP地址,按照部署方式,将编译后的程序代码部署到目标服务器中。
可选地,在本实施例中,上述的通信总线可以是PCI(Peripheral ComponentInterconnect,外设部件互连标准)总线、或EISA(Extended Industry StandardArchitecture,扩展工业标准结构)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图4中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。通信接口用于上述电子设备与其他设备之间的通信。
存储器可以包括RAM,也可以包括非易失性存储器(non-volatile memory),例如,至少一个磁盘存储器。可选地,存储器还可以是至少一个位于远离前述处理器的存储装置。
作为一种示例,上述存储器406中可以但不限于包括上述请求的处理装置中的第一获取模块302、调用模块304、第二获取模块306、测试模块308以及部署模块310。此外,还可以包括但不限于上述请求的处理装置中的其他模块单元,本示例中不再赘述。
上述处理器可以是通用处理器,可以包含但不限于:CPU(Central ProcessingUnit,中央处理器)、NP(Network Processor,网络处理器)等;还可以是DSP(DigitalSignal Processing,数字信号处理器)、ASIC(Application Specific IntegratedCircuit,专用集成电路)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
可选地,本实施例中的具体示例可以参考上述实施例中所描述的示例,本实施例在此不再赘述。
本领域普通技术人员可以理解,图4所示的结构仅为示意,实施上述请求的处理方法的设备可以是终端设备,该终端设备可以是智能手机(如Android手机、iOS手机等)、平板电脑、掌上电脑以及移动互联网设备(Mobile Internet Devices,MID)、PAD等终端设备。图4其并不对上述电子设备的结构造成限定。例如,电子设备还可包括比图4中所示更多或者更少的组件(如网络接口、显示装置等),或者具有与图4所示的不同的配置。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令终端设备相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、ROM、RAM、磁盘或光盘等。
根据本发明的实施例的又一方面,还提供了一种计算机可读的存储介质,该计算机可读的存储介质中存储有计算机程序,其中,该计算机程序被处理器运行时执行上述应用程序部署方法中的步骤。
可选地,在本实施例中,本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令终端设备相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、只读存储器(Read-Only Memory,ROM)、随机存取器(Random Access Memory,RAM)、磁盘或光盘等。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
上述实施例中的集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在上述计算机可读取的存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在存储介质中,包括若干指令用以使得一台或多台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例方法的全部或部分步骤。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的客户端,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (10)
1.一种应用程序部署方法,其特征在于,包括:
获取待部署的应用程序注册的应用服务信息,其中,所述应用服务信息包括所述应用程序在存储仓库中的存储地址、所述应用程序的部署方式、要部署到的目标服务器的目标IP地址;
调用流水线接口,启动流水线;
通过所述流水线和所述存储地址获取所述应用程序的程序代码;
对所述程序代码进行测试;
在所述程序代码测试通过的情况下,根据所述目标服务器的目标IP地址,按照所述部署方式,将编译后的所述程序代码部署到所述目标服务器中。
2.根据权利要求1所述的方法,其特征在于,所述通过所述流水线和所述存储地址获取所述应用程序的程序代码包括:
在启动所述流水线后,调用目标脚本,其中,所述目标脚本为自动执行脚本;
通过所述目标脚本访问所述存储地址,从所述存储地址拉取所述应用程序的所述程序代码。
3.根据权利要求1所述的方法,其特征在于,所述对所述程序代码进行测试包括:
检查所述程序代码的完整性;
在所述程序代码完整的情况下,使用测试用例对所述程序代码进行自动化测试。
4.根据权利要求1所述的方法,其特征在于,所述在所述程序代码测试通过的情况下,根据所述目标服务器的目标IP地址,按照所述部署方式,将所述程序代码部署到所述目标服务器中包括:
获取用于部署应用程序的服务器集合中每一个服务器的IP地址,其中,所述服务器集合包括所述目标服务器;
将所述目标IP地址与每一个所述IP地址进行比对;
在任意一个所述IP地址与所述目标IP地址相同的情况下,将与所述目标IP地址相同的所述IP地址所对应的服务器确定为所述目标服务器。
5.根据权利要求1所述的方法,其特征在于,所述在所述程序代码测试通过的情况下,根据所述目标服务器的目标IP地址,按照所述部署方式,将所述程序代码部署到所述目标服务器中包括:
在所述目标服务器为虚拟机或物理机的情况下,通过目标脚本自动将所述程序代码发布到所述目标服务器中;
在所述目标服务器为集群中的服务器的情况下,将编译后的所述程序代码构建为镜像,将构建的所述镜像推送到镜像仓库,并通过所述目标脚本将所述镜像发布到所述目标服务器中。
6.根据权利要求1至5任意一项所述的方法,其特征在于,所述方法还包括:
在所述程序代码测试通过的情况下,对所述程序代码进行编译。
7.根据权利要求6所述的方法,其特征在于,所述应用服务信息中还包括编译模板,所述在所述程序代码测试通过的情况下,对所述程序代码进行编译包括:
根据所述编译模板,对所述程序代码进行编译,得到编译后的所述程序代码,其中,不同的所述编译模板对应不同的语言类型。
8.一种应用程序部署装置,其特征在于,包括:
第一获取模块,用于获取待部署的应用程序注册的应用服务信息,其中,所述应用服务信息包括所述应用程序在存储仓库中的存储地址、所述应用程序的部署方式、要部署到的目标服务器的目标IP地址;
调用模块,用于调用流水线接口,启动流水线;
第二获取模块,用于通过所述流水线和所述存储地址获取所述应用程序的程序代码;
测试模块,用于对所述程序代码进行测试;
部署模块,用于在所述程序代码测试通过的情况下,根据所述目标服务器的目标IP地址,按照所述部署方式,将编译后的所述程序代码部署到所述目标服务器中。
9.一种计算机可读的存储介质,所述计算机可读的存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器运行时执行所述权利要求1至7任一项中所述的方法。
10.一种电子设备,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为通过所述计算机程序执行所述权利要求1至7任一项中所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210002273.4A CN114356346A (zh) | 2022-01-04 | 2022-01-04 | 应用程序部署方法、装置、存储介质以及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210002273.4A CN114356346A (zh) | 2022-01-04 | 2022-01-04 | 应用程序部署方法、装置、存储介质以及电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114356346A true CN114356346A (zh) | 2022-04-15 |
Family
ID=81106264
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210002273.4A Pending CN114356346A (zh) | 2022-01-04 | 2022-01-04 | 应用程序部署方法、装置、存储介质以及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114356346A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116541023A (zh) * | 2023-07-06 | 2023-08-04 | 北京好心情互联网医院有限公司 | 应用程序发布方法、装置、设备及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111090437A (zh) * | 2019-11-19 | 2020-05-01 | 平安科技(深圳)有限公司 | 应用部署方法、装置及计算机可读存储介质 |
CN111414172A (zh) * | 2020-03-18 | 2020-07-14 | 时时同云科技(成都)有限责任公司 | 应用软件自动部署发布系统及方法 |
CN111580832A (zh) * | 2020-04-29 | 2020-08-25 | 电科云(北京)科技有限公司 | 应用于异构多云环境的应用发布系统及方法 |
CN112035352A (zh) * | 2020-08-28 | 2020-12-04 | 浪潮云信息技术股份公司 | 一种基于云生命周期管理的快速自动化编译部署的方法 |
-
2022
- 2022-01-04 CN CN202210002273.4A patent/CN114356346A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111090437A (zh) * | 2019-11-19 | 2020-05-01 | 平安科技(深圳)有限公司 | 应用部署方法、装置及计算机可读存储介质 |
CN111414172A (zh) * | 2020-03-18 | 2020-07-14 | 时时同云科技(成都)有限责任公司 | 应用软件自动部署发布系统及方法 |
CN111580832A (zh) * | 2020-04-29 | 2020-08-25 | 电科云(北京)科技有限公司 | 应用于异构多云环境的应用发布系统及方法 |
CN112035352A (zh) * | 2020-08-28 | 2020-12-04 | 浪潮云信息技术股份公司 | 一种基于云生命周期管理的快速自动化编译部署的方法 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116541023A (zh) * | 2023-07-06 | 2023-08-04 | 北京好心情互联网医院有限公司 | 应用程序发布方法、装置、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20130179865A1 (en) | Automated error checking system for a software application and method therefor | |
CN108920370B (zh) | 兼容性问题检测方法、装置及设备 | |
CN109885480B (zh) | 一种基于调试桥的自动化界面兼容性测试方法及装置 | |
CN107729255B (zh) | 软件测试方法、装置及系统 | |
CN107621963B (zh) | 一种软件部署方法、软件部署系统及电子设备 | |
CN111475390A (zh) | 日志采集系统部署方法、装置、设备及存储介质 | |
CN107632901A (zh) | 一种应用程序运行异常的自修复方法及装置 | |
CN111309602A (zh) | 一种软件测试方法、装置及系统 | |
CN115469833A (zh) | 动态规则引擎的实现方法和装置、电子设备和存储介质 | |
CN114356346A (zh) | 应用程序部署方法、装置、存储介质以及电子设备 | |
CN107678969B (zh) | 测试版本发布方法、装置、版本控制设备和测试机 | |
CN116599881A (zh) | 云平台租户建模测试的方法、装置、设备及存储介质 | |
CN112015436A (zh) | 短信平台部署方法及装置、计算设备、计算机存储介质 | |
CN115237441A (zh) | 一种基于云平台的升级测试方法、装置及介质 | |
CN115390861A (zh) | 资源部署方法、装置及设备和存储介质 | |
CN113836017A (zh) | 一种远程调试方法、系统、计算设备和存储介质 | |
CN112230938A (zh) | 工业互联网的租赁产品的配置方法和装置 | |
CN113608996B (zh) | 一种镜像编译测试方法、系统、装置及可读存储介质 | |
KR101926550B1 (ko) | 서버용 서비스 프로그램의 업그레이드 안정화 방법 | |
CN111597101A (zh) | Sdk接入状态检测方法、计算机设备及计算机可读存储介质 | |
CN112947948B (zh) | 应用服务的部署方法及装置 | |
CN115469884A (zh) | 应用部署方法和相关装置 | |
CN112988561B (zh) | 检测显示配置代码的方法、装置、服务器和存储介质 | |
CN115801810A (zh) | 功能组件的同步方法和装置、电子设备和存储介质 | |
CN106339314A (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 |