CN115480878A - 一种容器部署方法及装置 - Google Patents

一种容器部署方法及装置 Download PDF

Info

Publication number
CN115480878A
CN115480878A CN202211152051.7A CN202211152051A CN115480878A CN 115480878 A CN115480878 A CN 115480878A CN 202211152051 A CN202211152051 A CN 202211152051A CN 115480878 A CN115480878 A CN 115480878A
Authority
CN
China
Prior art keywords
mirror image
integration
container
compressed file
management
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
CN202211152051.7A
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.)
Shenzhen Lingdong Innovation Information Technology Co ltd
Original Assignee
Shenzhen Lingdong Innovation Information Technology Co ltd
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 Shenzhen Lingdong Innovation Information Technology Co ltd filed Critical Shenzhen Lingdong Innovation Information Technology Co ltd
Priority to CN202211152051.7A priority Critical patent/CN115480878A/zh
Publication of CN115480878A publication Critical patent/CN115480878A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • G06F8/63Image based installation; Cloning; Build to order
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/4557Distribution of virtual machine instances; Migration and load balancing

Abstract

本发明实施例提供了一种容器部署方法及装置,通过当所述集成端接收到容器部署指令时,所述集成端依据预设的代码仓库构建压缩文件;其中,所述容器部署指令中包括待部署的需求信息;所述集成端将所述压缩文件发送到所述镜像中心端;所述集成端将所述待部署的需求信息发送到管理端。集成端通过版本控制工具拉取代码,进行自动化构建;通过集成端可以执行Shell脚本命令的功能将构建成功的项目推送到镜像中心端;项目成功推送成功后,管理端负责将镜像中心端中的镜像拉取下来,进行运行自动化部署,运营人员在此期间不需要进行其他相关的运维操作。

Description

一种容器部署方法及装置
技术领域
本发明涉及视频识别领域,具体涉及一种容器部署方法及装置。
背景技术
容器技术是一种比虚拟机技术更加节省计算资源也更加灵活的虚拟化技术。容器是完全使用沙箱机制,相互之间不会有任何接口,几乎没有性能开销,可以很容易地在机器和数据中心中运行。最重要的是,他们不依赖于任何语言、框架、包括系统。随着容器技术的发展,出现了很多容器编排引擎,用于对容器进行管理,其中,Kubernetes技术脱颖而出成为了容器编排领域的事实标准。在将容器技术应用到实际生产环境中时,由于每个应用都会由一个容器或多个容器提供服务支持,因此,对于一个大型应用而言,其中包含有大量的Kubernetes容器资源,而且每个容器对宿主节点都具有访问权限。在此情况下,则需要依次对每个容器单独配置相应的安全策略,使得操作变得重复和异常的复杂,造成很大的人力以及时间成本的浪费。
开源的应用容器引擎Docker,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化。随着Docker技术在云计算中的推广,越来越多的应用服务开始部署在容器中。
但现有的容器部署方法,存在着操作繁琐、项目部署运维成本高,没有兼顾高并发情景下服务器所面临的相关问题。
发明内容
鉴于所述问题,提出了本申请以便提供克服所述问题或者至少部分地解决所述问题的一种容器部署方法及装置,包括:
一种容器部署方法,所述方法用于将容器部署到目标服务器,所述方法涉及集成端、镜像中心端以及管理端,包括:
当所述集成端接收到容器部署指令时,所述集成端依据预设的代码仓库构建压缩文件;其中,所述容器部署指令中包括待部署的需求信息;
所述集成端将所述压缩文件发送到所述镜像中心端;
所述集成端将所述待部署的需求信息发送到管理端。
优选地,所述集成端根据预设的代码仓库构建压缩文件的步骤,包括:
所述集成端将所述预设的代码仓库内的代码拉取到所述集成端;
所述集成端将所述代码进行编译生成编译代码;
所述集成端将所述编译代码进行打包生成所述压缩文件。
优选地,所述集成端将符合预设要求的所述压缩文件发送到所述镜像中心端的步骤,包括:
所述集成端将所述压缩文件进行测试,将测试成功的所述压缩文件发送到所述镜像中心端。
为实现本申请,还包括一种容器部署方法,所述方法用于将容器部署到目标服务器,所述方法涉及集成端、镜像中心端以及管理端,包括:
所述镜像中心端接收所述集成端发送的压缩文件;
所述镜像中心端对所述压缩文件进行镜像生成镜像数据。
为实现本申请,还包括一种容器部署方法,所述方法用于将容器部署到目标服务器,所述方法涉及集成端、镜像中心端、管理端以及目标服务器,包括:
所述管理端接收所述集成端发送的待部署的需求信息;
所述管理端接收所述镜像中心端发送的镜像数据;
所述管理端依据所述待部署的需求信息将所述镜像数据发送到相对应的所述目标服务器;其中,所述目标服务器至少设置一个。
优选地,所述管理端依据所述待部署的需求信息将所述镜像数据发送到相对应的所述目标服务器的步骤,包括:
所述管理端依据所述待部署的需求信息将所述镜像数据进行解压生成容器;
所述管理端依据所述待部署的需求信息将所述容器发送到相对应的所述目标服务器。
为实现本申请,还包括一种容器部署装置,所述装置用于将容器部署到目标服务器,所述方法涉及集成端、镜像中心端以及管理端,包括:
压缩文件构建模块,用于当所述集成端接收到容器部署指令时,所述集成端依据预设的代码仓库构建压缩文件;其中,所述容器部署指令中包括待部署的需求信息;
压缩文件发送模块,用于所述集成端将所述压缩文件发送到所述镜像中心端;
需求信息发送模块,用于所述集成端将所述待部署的需求信息发送到管理端。
为实现本申请,还包括一种容器部署装置,所述装置用于将容器部署到目标服务器,所述方法涉及集成端、镜像中心端以及管理端,包括:
压缩文件接收模块,用于所述镜像中心端接收所述集成端发送的压缩文件;
镜像数据生成模块,用于所述镜像中心端对所述压缩文件进行镜像生成镜像数据。
为实现本申请,还包括一种容器部署装置,所述方法用于将容器部署到目标服务器,所述方法涉及集成端、镜像中心端、管理端以及目标服务器,包括:
需求信息接收模块,用于所述管理端接收所述集成端发送的待部署的需求信息;
镜像数据接收模块,用于所述管理端接收所述镜像中心端发送的镜像数据;
发送模块,用于所述管理端依据所述待部署的需求信息将所述镜像数据发送到相对应的所述目标服务器;其中,所述目标服务器至少设置一个。
为实现本申请,还包括一种容器部署系统,所述系统用于将容器部署到目标服务器,所述系统涉及集成端、镜像中心端、管理端以及目标服务器,包括:
当所述集成端接收到容器部署指令时,所述集成端根据预设的代码仓库构建压缩文件;其中,所述容器部署指令中包括待部署的需求信息;
所述集成端将符合预设要求的所述压缩文件发送到所述镜像中心端;
所述集成端将所述待部署的需求信息发送到管理端;
所述镜像中心端接收所述集成端发送所述压缩文件;
所述镜像中心端对所述压缩文件进行镜像生成镜像数据;
所述镜像中心端对所述符合预设要求的压缩文件进行镜像生成镜像数据;
所述管理端接收所述集成端发送的所述待部署的需求信息;
所述管理端接收所述镜像中心端发送的镜像数据;
所述管理端依据所述待部署的需求信息将所述镜像数据发送到相对应的所述目标服务器;其中,所述目标服务器至少设置一个。
本申请具有以下优点:
在本申请的实施例中,通过当所述集成端接收到容器部署指令时,所述集成端依据预设的代码仓库构建压缩文件;其中,所述容器部署指令中包括待部署的需求信息;所述集成端将所述压缩文件发送到所述镜像中心端;所述集成端将所述待部署的需求信息发送到管理端。Jenkins(集成端)通过版本控制工具(git、svn)拉取代码,进行自动化构建;通过Jenkins可以执行Shell脚本命令的功能将构建成功的项目推送到Docker镜像仓库(镜像中心端);项目成功推送成功后,kubernetes(管理端)负责将Docker镜像仓库中的镜像拉取下来,进行运行自动化部署,运营人员在此期间不需要进行其他相关的运维操作。
附图说明
为了更清楚地说明本申请的技术方案,下面将对本申请的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本申请一实施例提供的一种容器部署方法的步骤流程图;
图2是本申请一实施例提供的一种容器部署方法的步骤流程图;
图3是本申请一实施例提供的一种容器部署方法的步骤流程图;
图4是本申请一实施例提供的一种容器部署方法的结构图;
图5是本申请一实施例提供的一种容器部署装置的结构框图;
图6是本申请一实施例提供的一种容器部署装置的结构框图;
图7是本申请一实施例提供的一种容器部署装置的结构框图;
图8是本发明一实施例提供的一种计算机设备的结构示意图。
具体实施方式
为使本申请的所述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本申请作进一步详细的说明。显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
需要说明的是,本申请的集成端为Jenkins(集成工具),Jenkins是一款流行的开源持续集成(Continuous Integration)工具,广泛用于项目开发,具有自动化构建、测试和部署等功能。Jenkins是一个开源软件项目,是基于Java(是一门面向对象的编程语言)开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件项目可以进行持续集成。
本申请的镜像中心端为Docker(应用容器引擎),是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的Linux(是一种免费使用和自由传播的类UNIX操作系统)或Windows操作系统的机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。
本申请的管理端为Kubernetes,简称K8s,是用8代替名字中间的8个字符“ubernete”而成的缩写。是一个开源的,用于管理云平台中多个主机上的容器化的应用,Kubernetes的目标是让部署容器化的应用简单并且高效(powerful),Kubernetes提供了应用部署,规划,更新,维护的一种机制。
参照图1,示出了本申请一实施例提供的一种容器部署方法的步骤流程图,具体包括如下步骤:
S110、当所述集成端接收到容器部署指令时,所述集成端依据预设的代码仓库构建压缩文件;其中,所述容器部署指令中包括待部署的需求信息;
S120、所述集成端将所述压缩文件发送到所述镜像中心端;
S130、所述集成端将所述待部署的需求信息发送到管理端。
下面,将对本示例性实施例中的容器部署方法作进一步地说明。
如上述步骤S110所述,当所述集成端接收到容器部署指令时,所述集成端依据预设的代码仓库构建压缩文件;其中,所述容器部署指令中包括待部署的需求信息。
在本发明一实施例中,可以结合下列描述进一步说明步骤S110所述“当所述集成端接收到容器部署指令时,所述集成端依据预设的代码仓库构建压缩文件;其中,所述容器部署指令中包括待部署的需求信息”的具体过程。
如下列步骤所述,所述集成端将所述预设的代码仓库内的代码拉取到所述集成端;所述集成端将所述代码进行编译生成编译代码;所述集成端将所述编译代码进行打包生成所述压缩文件。
在一具体实施例中,Jenkins是一款流行的开源持续集成(ContinuousIntegration)工具,广泛用于项目开发,具有自动化构建、测试和部署等功能。开发人员将项目代码推送至git或者svn后,Jenkins作为持续集成工具,使用Git工具到Git仓库拉取代码到集成服务器,再配合JDK,Maven等软件完成代码编译,代码测试与审查,测试,打包等工作,在这个过程中每一步出错,都重新再执行一次整个流程。
在一具体实施例中,Git是一个开源的分布式版本控制系统,可以有效、高速的处理从很小到非常大的项目版本管理。
一般工作流程如下:
1、从远程仓库中克隆Git资源作为本地仓库;
2、从本地仓库中checkout代码然后进行代码修改;
3、在提交本地仓库前先将代码提交到暂存区;
4、提交修改,提交到本地仓库;本地仓库中保存修改的各个历史版本;
5、在需要和团队成员共享代码时,可以将修改代码push到远程仓库。
在一具体实施例中,Jenkins是帮我们将代码进行统一的编译打包、还可以放到Tomcat(汤姆猫)容器中进行发布。
在一具体实施例中,通过配置将项目:编译、打包、上传、部署到Tomcat中的过程交由Jenkins,Jenkins通过给定的代码地址URL,将代码拉取到其“宿主服务器”(Jenkins的安装位置),进行编译、打包和发布到web容器中。
工作流程如下(以当前项目为例):
开发者检入代码到源代码Git仓库。
CI每一个项目创建了单独的工作区。当预设或请求新的构建时,它将仓库的源码存放到对应的工作区。持续集成(CI)是构建软件并完成初始测试的过程。CI叫做持续集成,CD叫做持续部署。
CI系统会在对应的工作区内执行构建过程。
构建完成后,CI系统会在新的构建中执行定义的测试。完成后触发通知(Email,RSS等等)给相关的当事人。
如果构建成功,这个构件会被打包并转移到一个部署目标或存储为软件仓库中的一个新版本。
CI系统通常会根据请求发起相应的操作,诸如即时构建、生成报告,或者检索一些构建好的构件。
当构建成功之后会执行对应的Shell脚本,Shell脚本内容主要是将构建成功的Jar推送到Docker仓库打成镜像,也可以直接使用脚本命令运行项目,该项目使用的是kubernetes管理Docker,所以忽略了自动运行项目。
如上述步骤S120所述,所述集成端将所述压缩文件发送到所述镜像中心端。
在本发明一实施例中,可以结合下列描述进一步说明步骤S120所述“所述集成端将所述压缩文件发送到所述镜像中心端”的具体过程。
如下列步骤所述,所述集成端将所述压缩文件进行测试,将测试成功的所述压缩文件发送到所述镜像中心端。
在一具体实施例中,所述测试成功是没有出现计算机不能识别的错误。Jenkins在自动化构建中管理台(Terminal)会有相关日志信息打印,构建的过程就是代码转换成计算机能够识别的语言,然后再计算机中预编译运行一次,没有出现计算机不能识别的错误,就算成功;例如:类型转换的问题,a是一个Long类型,强制转换为int类型,计算机就会识别出错,然后在构建的过程中就会报错,于是构建就失败了。
在一具体实施例中,Jenkins把生成的jar或war包分发到测试服务器或者生产服务器,测试人员或用户就可以访问应用,另外Jenkins也可以将生成的jar或war包推送到Docker仓库镜像中,配合Docker使用。
如上述步骤S130所述,所述集成端将所述待部署的需求信息发送到管理端。
在本发明一实施例中,可以结合下列描述进一步说明步骤S130所述“所述集成端将所述待部署的需求信息发送到管理端”的具体过程。
在一具体实施例中,所述管理端通过所述集成端发送的待部署的需求信息将镜像文件分配给相对应的服务器端。
参照图2,示出了本申请一实施例提供的一种容器部署方法的步骤流程图,具体包括如下步骤:
S210、所述镜像中心端接收所述集成端发送的压缩文件;
S220、所述镜像中心端对所述压缩文件进行镜像生成镜像数据。
在一具体实施例中,所述镜像中心端接收所述压缩文件,并进行镜像生成镜像文件。
在一具体实施例中,Docker是以镜像的形式运行项目,例如:我来到一片空地,想建个房子,当我建好这间房子,住了一段时间后,想搬到另一片空地住;按照以往的项目,我应该在这片空地重新建一个房子,但是这个时候,来了一个人教会我一种神奇的魔法,将已经建好的房子复制一份成为一个“镜像”放到背包,到另一个地方直接将这个房子用“镜像”复制出来就能直接使用;在这个案例中,背包就是Docker仓库负责管理,“镜像”就是Docker镜像,也就是我们运行的项目,而这个容器相较于虚拟机,最大的优点在于“轻”,因为容器技术所占用空间很小。但同时该项技术存在编排、管理和调度等各个方面的问题,不容易管理,于是则出现了kubernetes容器集群管理工具。
参照图3,示出了本申请一实施例提供的一种容器部署方法的步骤流程图,具体包括如下步骤:
S310、所述管理端接收所述集成端发送的待部署的需求信息;
S320、所述管理端接收所述镜像中心端发送的镜像数据;
S330、所述管理端依据所述待部署的需求信息将所述镜像数据发送到相对应的所述目标服务器;其中,所述目标服务器至少设置一个。
如上述步骤S330所述,所述管理端依据所述待部署的需求信息将所述镜像数据发送到相对应的所述目标服务器;其中,所述目标服务器至少设置一个。
在本发明一实施例中,可以结合下列描述进一步说明步骤S330所述“所述管理端依据所述待部署的需求信息将所述镜像数据发送到相对应的所述目标服务器;其中,所述目标服务器至少设置一个”的具体过程。
如下列步骤所述,所述管理端依据所述待部署的需求信息将所述镜像数据进行解压生成容器;所述管理端依据所述待部署的需求信息将所述容器发送到相对应的所述目标服务器。
在一具体实施例中,Kubernetes基于容器的集群管理平台,总体架构采用了经典的master slave架构模式,分master节点和worker节点,节点可以是虚拟机也可以是物理机。其自带相关组件包括自愈和自动伸缩、调度和发布、调用链监控、配置管理、Metrics监控、日志监控、弹性和容错、API管理、服务安全等功能,其中自愈和自动伸缩、调度和发布功能组件最大作用就是解决高并发场景服务器所面临的相关问题。例如:项目需要进行挂起或者重启时,且挂起重启都是不可预期的,那么这就会导致服务的IP也随着不停的变化,给用户的寻址造成一定的困难。而service就是用来解决这个问题的,它屏蔽了应用的IP寻址和负载均衡,消费方可直接通过服务名来访问目标服务,寻址和负载均衡均由service底层进行,从而达到热部署的效果。其次当主节点的某个服务宕机时,子节点的服务会自动进行补偿。
一种容器部署系统,所述系统用于将容器部署到目标服务器,所述系统涉及集成端、镜像中心端、管理端以及目标服务器,包括:
当所述集成端接收到容器部署指令时,所述集成端根据预设的代码仓库构建压缩文件;其中,所述容器部署指令中包括待部署的需求信息;
所述集成端将符合预设要求的所述压缩文件发送到所述镜像中心端;
所述集成端将所述待部署的需求信息发送到管理端;
所述镜像中心端接收所述集成端发送所述压缩文件;
所述镜像中心端对所述压缩文件进行镜像生成镜像数据;
所述镜像中心端对所述符合预设要求的压缩文件进行镜像生成镜像数据;
所述管理端接收所述集成端发送的所述待部署的需求信息;
所述管理端接收所述镜像中心端发送的镜像数据;
所述管理端依据所述待部署的需求信息将所述镜像数据发送到相对应的所述目标服务器;其中,所述目标服务器至少设置一个。
在一具体实施例中,Jenkins通过版本控制工具(git、svn)拉取代码,进行自动化构建;通过Jenkins可以执行Shell脚本命令的功能将构建成功的项目推送到Docker镜像仓库;项目成功推送成功后,kubernetes负责将Docker镜像仓库中的镜像拉取下来,进行运行自动化部署,运营人员在此期间不需要进行其他相关的运维操作,具体如图4所示。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
参照图5,示出了本申请一实施例提供的一种容器部署装置,具体包括如下模块,
压缩文件构建模块510:用于当所述集成端接收到容器部署指令时,所述集成端依据预设的代码仓库构建压缩文件;其中,所述容器部署指令中包括待部署的需求信息;
压缩文件发送模块520:用于所述集成端将所述压缩文件发送到所述镜像中心端;
需求信息发送模块530:用于所述集成端将所述待部署的需求信息发送到管理端。
在本发明一实施例中,所述压缩文件构建模块包括:
代码拉取子模块:用于所述集成端将所述预设的代码仓库内的代码拉取到所述集成端;
编译代码生成子模块:用于所述集成端将所述代码进行编译生成编译代码;
压缩文件打包子模块:用于所述集成端将所述编译代码进行打包生成所述压缩文件。
在本发明一实施例中,所述压缩文件发送模块包括:
压缩文件发送子模块:用于所述集成端将所述压缩文件进行测试,将测试成功的所述压缩文件发送到所述镜像中心端。
参照图6,示出了本申请一实施例提供的一种容器部署装置,具体包括如下模块:
压缩文件接收模块610:用于所述镜像中心端接收所述集成端发送的压缩文件;
镜像数据生成模块620:用于所述镜像中心端对所述压缩文件进行镜像生成镜像数据。
参照图7,示出了本申请一实施例提供的一种容器部署装置,具体包括如下模块:
需求信息接收模块710:用于所述管理端接收所述集成端发送的待部署的需求信息;
镜像数据接收模块720:用于所述管理端接收所述镜像中心端发送的镜像数据;
发送模块730:用于所述管理端依据所述待部署的需求信息将所述镜像数据发送到相对应的所述目标服务器;其中,所述目标服务器至少设置一个。
在本发明一实施例中,所述发送模块包括:
容器生成子模块:用于所述管理端依据所述待部署的需求信息将所述镜像数据进行解压生成容器;
容器发送子模块:用于所述管理端依据所述待部署的需求信息将所述容器发送到相对应的所述目标服务器。
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。
在本具体实施例与上述具体实施例中有重复的操作步骤,本具体实施例仅做简单描述,其余方案参考上述具体实施例描述即可。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
参照图8,示出了本申请的一种容器部署方法的计算机设备,具体可以包括如下:
上述计算机设备12以通用计算设备的形式表现,计算机设备12的组件可以包括但不限于:一个或者多个处理器或者处理单元16,内存28,连接不同系统组件(包括内存28和处理单元16)的总线18。
总线18表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(ISA)总线,微通道体系结构(MAC)总线,增强型ISA总线、音视频电子标准协会(VESA)局域总线以及外围组件互连(PCI)总线。
计算机设备12典型地包括多种计算机系统可读介质。这些介质可以是任何能够被计算机设备12访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
内存28可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器30和/或高速缓存存储器32。计算机设备12可以进一步包括其他移动/不可移动的、易失性/非易失性计算机体统存储介质。仅作为举例,存储系统34可以用于读写不可移动的、非易失性磁介质(通常称为“硬盘驱动器”)。尽管图8中未示出,可以提供用于对可移动非易失性磁盘(如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如CD-ROM,DVD-ROM或者其他光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质界面与总线18相连。存储器可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块42,这些程序模块42被配置以执行本申请各实施例的功能。
具有一组(至少一个)程序模块42的程序/实用工具40,可以存储在例如存储器中,这样的程序模块42包括——但不限于——操作系统、一个或者多个应用程序、其他程序模块42以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块42通常执行本申请所描述的实施例中的功能和/或方法。
计算机设备12也可以与一个或多个外部设备14(例如键盘、指向设备、显示器24、摄像头等)通信,还可与一个或者多个使得操作人员能与该计算机设备12交互的设备通信,和/或与使得该计算机设备12能与一个或多个其他计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过I/O接口22进行。并且,计算机设备12还可以通过网络适配器20与一个或者多个网络(例如局域网(LAN)),广域网(WAN)和/或公共网络(例如因特网)通信。如图8所示,网络适配器20通过总线18与计算机设备12的其他模块通信。应当明白,尽管图8中未示出,可以结合计算机设备12使用其他硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元16、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统34等。
处理单元16通过运行存储在内存28中的程序,从而执行各种功能应用以及数据处理,例如实现本申请实施例所提供的一种容器部署方法。
也即,上述处理单元16执行上述程序时实现:当所述集成端接收到容器部署指令时,所述集成端依据预设的代码仓库构建压缩文件;其中,所述容器部署指令中包括待部署的需求信息;所述集成端将所述压缩文件发送到所述镜像中心端;所述集成端将所述待部署的需求信息发送到管理端。
在本申请实施例中,本申请还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本申请所有实施例提供的一种容器部署方法。
也即,给程序被处理器执行时实现:当所述集成端接收到容器部署指令时,所述集成端依据预设的代码仓库构建压缩文件;其中,所述容器部署指令中包括待部署的需求信息;所述集成端将所述压缩文件发送到所述镜像中心端;所述集成端将所述待部署的需求信息发送到管理端。
可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括——但不限于——电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
可以以一种或多种程序设计语言或其组合来编写用于执行本申请操作的计算机程序代码,上述程序设计语言包括面向对象的程序设计语言——诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言——诸如“C”语言或类似的程序设计语言。程序代码可以完全地在操作人员计算机上执行、部分地在操作人员计算机上执行、作为一个独立的软件包执行、部分在操作人员计算机上部分在远程计算机上执行或者完全在远程计算机或者服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)——连接到操作人员计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
尽管已描述了本申请实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请实施例范围的所有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
以上对本申请所提供的一种容器部署方法及装置,进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。

Claims (10)

1.一种容器部署方法,所述方法用于将容器部署到目标服务器,所述方法涉及集成端、镜像中心端以及管理端,其特征在于,包括:
当所述集成端接收到容器部署指令时,所述集成端依据预设的代码仓库构建压缩文件;其中,所述容器部署指令中包括待部署的需求信息;
所述集成端将所述压缩文件发送到所述镜像中心端;
所述集成端将所述待部署的需求信息发送到管理端。
2.根据权利要求1所述的容器部署方法,其特征在于,所述集成端根据预设的代码仓库构建压缩文件的步骤,包括:
所述集成端将所述预设的代码仓库内的代码拉取到所述集成端;
所述集成端将所述代码进行编译生成编译代码;
所述集成端将所述编译代码进行打包生成所述压缩文件。
3.根据权利要求1所述的容器部署方法,其特征在于,所述集成端将符合预设要求的所述压缩文件发送到所述镜像中心端的步骤,包括:
所述集成端将所述压缩文件进行测试,将测试成功的所述压缩文件发送到所述镜像中心端。
4.一种容器部署方法,所述方法用于将容器部署到目标服务器,所述方法涉及集成端、镜像中心端以及管理端,其特征在于,包括:
所述镜像中心端接收所述集成端发送的压缩文件;
所述镜像中心端对所述压缩文件进行镜像生成镜像数据。
5.一种容器部署方法,所述方法用于将容器部署到目标服务器,所述方法涉及集成端、镜像中心端、管理端以及目标服务器,其特征在于,包括:
所述管理端接收所述集成端发送的待部署的需求信息;
所述管理端接收所述镜像中心端发送的镜像数据;
所述管理端依据所述待部署的需求信息将所述镜像数据发送到相对应的所述目标服务器;其中,所述目标服务器至少设置一个。
6.根据权利要求5所述的容器部署方法,其特征在于,所述管理端依据所述待部署的需求信息将所述镜像数据发送到相对应的所述目标服务器的步骤,包括:
所述管理端依据所述待部署的需求信息将所述镜像数据进行解压生成容器;
所述管理端依据所述待部署的需求信息将所述容器发送到相对应的所述目标服务器。
7.一种容器部署装置,所述装置用于将容器部署到目标服务器,所述方法涉及集成端、镜像中心端以及管理端,其特征在于,包括:
压缩文件构建模块,用于当所述集成端接收到容器部署指令时,所述集成端依据预设的代码仓库构建压缩文件;其中,所述容器部署指令中包括待部署的需求信息;
压缩文件发送模块,用于所述集成端将所述压缩文件发送到所述镜像中心端;
需求信息发送模块,用于所述集成端将所述待部署的需求信息发送到管理端。
8.一种容器部署装置,所述装置用于将容器部署到目标服务器,所述方法涉及集成端、镜像中心端以及管理端,其特征在于,包括:
压缩文件接收模块,用于所述镜像中心端接收所述集成端发送的压缩文件;
镜像数据生成模块,用于所述镜像中心端对所述压缩文件进行镜像生成镜像数据。
9.一种容器部署装置,所述方法用于将容器部署到目标服务器,所述方法涉及集成端、镜像中心端、管理端以及目标服务器,其特征在于,包括:
需求信息接收模块,用于所述管理端接收所述集成端发送的待部署的需求信息;
镜像数据接收模块,用于所述管理端接收所述镜像中心端发送的镜像数据;
发送模块,用于所述管理端依据所述待部署的需求信息将所述镜像数据发送到相对应的所述目标服务器;其中,所述目标服务器至少设置一个。
10.一种容器部署系统,所述系统用于将容器部署到目标服务器,所述系统涉及集成端、镜像中心端、管理端以及目标服务器,其特征在于,包括:
当所述集成端接收到容器部署指令时,所述集成端根据预设的代码仓库构建压缩文件;其中,所述容器部署指令中包括待部署的需求信息;
所述集成端将符合预设要求的所述压缩文件发送到所述镜像中心端;
所述集成端将所述待部署的需求信息发送到管理端;
所述镜像中心端接收所述集成端发送所述压缩文件;
所述镜像中心端对所述压缩文件进行镜像生成镜像数据;
所述镜像中心端对所述符合预设要求的压缩文件进行镜像生成镜像数据;
所述管理端接收所述集成端发送的所述待部署的需求信息;
所述管理端接收所述镜像中心端发送的镜像数据;
所述管理端依据所述待部署的需求信息将所述镜像数据发送到相对应的所述目标服务器;其中,所述目标服务器至少设置一个。
CN202211152051.7A 2022-09-21 2022-09-21 一种容器部署方法及装置 Pending CN115480878A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211152051.7A CN115480878A (zh) 2022-09-21 2022-09-21 一种容器部署方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211152051.7A CN115480878A (zh) 2022-09-21 2022-09-21 一种容器部署方法及装置

Publications (1)

Publication Number Publication Date
CN115480878A true CN115480878A (zh) 2022-12-16

Family

ID=84392861

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211152051.7A Pending CN115480878A (zh) 2022-09-21 2022-09-21 一种容器部署方法及装置

Country Status (1)

Country Link
CN (1) CN115480878A (zh)

Similar Documents

Publication Publication Date Title
US20150100829A1 (en) Method and system for selecting and executing test scripts
US20150100832A1 (en) Method and system for selecting and executing test scripts
CN112527349A (zh) 动态部署策略优化及持续部署业务保障系统
CN107678752B (zh) 一种面向异构集群的任务处理方法及装置
US20150100830A1 (en) Method and system for selecting and executing test scripts
US20150100831A1 (en) Method and system for selecting and executing test scripts
EP2893443A1 (en) Re-configuration in cloud computing environments
CN104539487A (zh) 一种基于云平台的系统测试及可靠性评估方法
CN110647332A (zh) 基于容器云的软件部署方法和装置
CN108132878A (zh) 一种测试环境的调度方法及系统
US10019345B2 (en) Executing multi-version tests against a multi-version application
CN110990081A (zh) 微服务注册、发现方法及装置、存储介质及电子设备
CN110494849B (zh) 用于确定跨平台应用迁移的成功的系统和方法
CN115729679A (zh) 任务处理方法及装置、计算机可读存储介质、电子设备
CN113296796A (zh) 项目发布方法、装置、系统、存储介质、电子设备
CN115480878A (zh) 一种容器部署方法及装置
CN112506772B (zh) web自动化测试方法、装置、电子设备和存储介质
Erulanova et al. Hardware and software support of technological processes virtualization
CN113504916A (zh) 一种代码更新方法和装置、计算机设备及介质
CN114489704A (zh) 基于策略的版本编译部署方法及装置
CN112231231A (zh) 云端服务的调试方法、系统及装置
US20230132531A1 (en) Software Development Project Infrastructure Builder Tool
US9436523B1 (en) Holistic non-invasive evaluation of an asynchronous distributed software process
KR102485154B1 (ko) 전력 통신 서비스
CN114756464B (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