CN114035890A - 一种基于容器技术的ci/cd服务部署方法、装置、设备及介质 - Google Patents

一种基于容器技术的ci/cd服务部署方法、装置、设备及介质 Download PDF

Info

Publication number
CN114035890A
CN114035890A CN202111238200.7A CN202111238200A CN114035890A CN 114035890 A CN114035890 A CN 114035890A CN 202111238200 A CN202111238200 A CN 202111238200A CN 114035890 A CN114035890 A CN 114035890A
Authority
CN
China
Prior art keywords
target
container
mirror image
file
container mirror
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
CN202111238200.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.)
Guangzhou Sanqi Network Technology Co ltd
Original Assignee
Guangzhou Sanqi Network 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 Guangzhou Sanqi Network Technology Co ltd filed Critical Guangzhou Sanqi Network Technology Co ltd
Priority to CN202111238200.7A priority Critical patent/CN114035890A/zh
Publication of CN114035890A publication Critical patent/CN114035890A/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
    • 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/45504Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
    • 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/45562Creating, deleting, cloning virtual machine instances
    • 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/45595Network integration; Enabling network access in virtual machine instances

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

本发明公开了一种基于容器技术的CI/CD服务部署方法、装置、设备及介质,所述方法包括:响应于所接收的发布指令,从容器镜像库中获取目标容器镜像;所述目标容器镜像基于OCI标准存储于所述容器镜像库中,内含待部署的目标程序文件;运行所述目标容器镜像创建部署执行容器,将所述目标程序文件远程传输至目标服务器。上述方法基于OCI标准进行目标容器镜像的上传和存储,并通过构建发布通道将目标容器镜像中的目标程序文件发布至目标服务器中,既确保了构建环境的独立,又无需改变传统容器集群的发布架构。

Description

一种基于容器技术的CI/CD服务部署方法、装置、设备及介质
技术领域
本发明涉及计算机技术领域,特别是涉及一种基于容器技术的CI/CD服务部署方法、装置、设备及介质。
背景技术
在传统的应用部署方式中,通常使用Linux虚拟机服务器作为发布机进行程序构建,并将构建的程序文件储存在发布机、挂载盘、OSS等储存中,在需要发布时下载资源并通过rsync、ssh发布。
近些年来,随着云计算和云服务的发展,容器技术得到了较为广泛的应用。当前,新的应用部署方式多是通过部署容器方式实现,但这种方式需要部署容器集群或其他容器编排方案,并无法直接集成传统的非容器化系统架构,导致难以落地于传统服务器部署。
发明内容
为了解决上述技术问题,本发明提出了一种基于容器技术的CI/CD服务部署方法、装置、设备及介质。具体是以如下技术方案实现的:
第一方面,本发明提供一种基于容器技术的CI/CD服务部署方法,包括:
响应于所接收的发布指令,从容器镜像库中获取目标容器镜像;所述目标容器镜像基于OCI标准存储于所述容器镜像库中,内含待部署的目标程序文件;
运行所述目标容器镜像创建部署执行容器,将所述目标程序文件远程传输至目标服务器。
在一种可能的实现中,所述将所述目标程序文件远程传输至目标服务器,具体为:
利用所述目标容器镜像内的发布程序,基于远程传输协议将所述目标程序文件通过发布通道发送至目标服务器;所述发布通道是指各所述目标服务器对应的传输通道。
在一种可能的实现中,所述发布通道的构建方式具体为:
Dockerflie通过预设的文件提取程序提取所述目标程序文件的目标文件名;
将所述目标文件名发送至所述目标服务器,以构建所述目标服务器对应的发布通道。
在一种可能的实现中,所述目标容器镜像通过下述步骤构建:
响应于所接收的构建指令,运行Dockerfile文件,构建所述目标程序文件对应的目标容器镜像。
第二方面,本发明提供一种基于容器技术的CI/CD服务部署装置,包括:
构建单元和发布单元;其中,
所述构建单元用于根据所接收的构建指令,构建所述目标程序文件对应的目标容器镜像,并基于OCI标准,将所述目标容器镜像存储于容器镜像库中;
所述发布单元用于响应所接收的发布指令,从所述容器镜像库中获取所述目标容器镜像;运行所述目标容器镜像创建部署执行容器,将所述目标程序文件远程传输至目标服务器。
在一种可能的实现中,所述将所述目标程序文件远程传输至目标服务器,具体为:
利用所述目标容器镜像内的发布程序,基于远程传输协议将所述目标程序文件通过发布通道发送至目标服务器;所述发布通道是指各所述目标服务器对应的传输通道。
在一种可能的实现中,所述发布通道的构建方式具体为:
Dockerflie通过预设的文件提取程序提取所述目标程序文件的目标文件名;
将所述目标文件名发送至所述目标服务器,以构建所述目标服务器对应的发布通道。
在一种可能的实现中,所述目标容器镜像通过下述步骤构建:
响应于所接收的构建指令,运行Dockerfile文件,构建所述目标程序文件对应的目标容器镜像。
第三方面,本发明提供一种数据处理设备,包括处理器,所述处理器和存储器耦合,所述存储器存储有程序,所述程序由所述处理器执行,使得所述数据处理设备执行第一方面所述的基于容器技术的CI/CD服务部署方法。
第四方面,本发明还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时,实现如上述第一方面所述的基于容器技术的CI/CD服务部署方法。
相比现有技术,本发明的有益效果在于:
本发明提供的基于容器技术的CI/CD服务部署方法基于OCI标准进行容器镜像的上传和存储,并通过运行目标容器镜像创建部署执行容器,将储存在容器内的部署目标远程传输到指定部署目标服务器,以完成应用部署。这种方法既确保了构建环境的独立,又无需改变传统容器集群的发布架构,有效实现传统服务器部署和容器部署模式的兼容。
附图说明
为了更清楚地说明本发明的技术方案,下面将对实施方式中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的基于容器技术的CI/CD服务部署方法的流程示意图;
图2是本发明实施例提供的基于容器技术的CI/CD服务部署装置的结构框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
以下对本发明涉及的部分概念进行解释:
容器(Docker)是一种实现容器镜像构建、分发以及运行的引擎,开发人员和管理员基于Docker,可以使用容器来开发、部署并运行应用程序。Docker一般包含Docker客户端(Docker Client)以及Docker引擎(Docker Engine),Docker引擎是在主机运行的管理镜像和容器的守护进程。
容器镜像(Docker image)是一个可执行程序包,其包含运行应用程序所需的所有内容,如应用程序的代码、库、环境变量和配置文件。容器镜像可在任意一个装有Docker引擎的环境中运行,当容器镜像运行后,会被创建为Docker容器。
具体地,容器镜像的内容通常包括元数据文件、配置文件以及至少一个镜像层文件,元数据文件可以是manifest.json文件,记录所有镜像层文件的元数据;配置文件用于记录镜像占用的内存大小、镜像包含的指令类型等;镜像层文件则可以是layer文件。
Docker容器(docker container)是容器镜像的运行态的实例,利用Docker容器可以实现对容器外部的软件以及硬件的隔离。
对于传统服务器的部署流程,通常需要从CI/CD系统获取构建产物源文件,再通过远程传输协议进行拷贝到部署目标服务器上,传输完成后,可能还需执行指定shell脚本进行应用重启和配置加载等操作,完整过程往往涉及多个服务器的批量操作。而本发明从容器部署模式出发,提供了一种新的CI/CD服务部署方法。
参阅图1,本发明实施例基于容器技术,提供的一种CI/CD服务部署方法具体包括下述步骤:
S1:响应于所接收的发布指令,从容器镜像库中获取目标容器镜像;所述目标容器镜像基于OCI标准存储于所述容器镜像库中,内含待部署的目标程序文件。
CI/CD又称为持续集成/交付,是一种通过在应用开发阶段引入自动化实现频繁交付应用的方法,其中,CI表示持续集成(Continuous Integration),CD则表示持续交付(Continuous Delivery)和持续部署(Continuous Deployment)。
容器镜像库则是提供容器镜像的上传、下载以及管理功能的仓库,容器镜像库存储了大量的容器镜像,容器镜像库可以基于容器registry协议实现。
为了实现传统服务器部署与容器构建技术的兼容,本发明实施例在容器镜像的构建过程中加入了部署层,具体涉及三个关键参数和部署执行器程序(deployer)。一是部署层文件来源阶段(stage),其指定了在容器镜像构建过程中,哪一层的文件会作为构建产物文件被部署;二是部署目标文件列表,其指定了在原始容器镜像构建过程中,来源于部署层文件来源阶段的哪部分文件会作为构建产物文件被部署;三是部署层基础镜像,其指定了来源于部署层文件来源阶段的部署目标文件列表被储存于哪些基础镜像中。
部署执行器程序则被提前储存在部署层的基础镜像中,或可在运行部署镜像时,通过文件挂载方式注入部署执行容器。部署执行器程序接收来自于CI/CD的部署参数后,通过运行容器镜像创建部署执行容器,将储存在同一容器内的部署目标远程传输到指定部署目标服务器。
在本实施例中,所述目标程序文件通过容器镜像进行构建,以确保构建环境的绝对独立及隔离。具体地,容器镜像的构建流程如下述:
当接收到构建指令时,运行Dockerfile文件,通过读取和执行Dockerfile中的docker build指令,构建目标程序文件对应的目标容器镜像。
完成目标容器镜像构建后,在本实施例中,当接收到镜像发送指令时,基于OCI标准,将所构建的目标容器镜像上传至容器镜像库,其中,镜像发送指令具体可以是dockerpush指令。
容器镜像库接收到所述目标容器镜像后,对应存储该目标容器镜像以及该目标容器镜像的镜像标识。
具体地,docker build命令用于使用Dockerfile创建容器镜像,具体可在dockerbuild命令中使用-f标志指向文件系统中任意位置的Dockerfile,Dockerfile由若干行命令语句组成,通常包括基础镜像信息、镜像操作指令和容器启动执行指令。
OCI(Open Container Initiative)标准又称为开放容器计划,是Linux基金会旗下的合作项目,其以开放治理的方式制定了操作系统虚拟化(特别是Linux容器)的开放工业标准。目前,OCI已制定了容器运行时规范和容器镜像规范,两个规范是互相关联的。容器镜像规范定义了镜像的组成,包括文件格式和内容、清单(manifest)、镜像索引(可选)、文件系统的分层和配置文件;运行时规范则依据该配置,创建容器来运行程序。可以理解的是,镜像规范助于创建可互操作的工具,而运行时规范规定了容器的配置、执行环境和生命周期。
上述实施例利用OCI标准统一了标准化容器镜像格式,以获取一个稳定的声明式依赖环境。在根据OCI标准进行程序文件的上传、下载及存储的过程中,标准镜像能够在各容器中构建、传递及准备容器镜像运行,而无需自定义协议,从而简化了文件数据的传输和存储流程,提高运行效率。
在另一个实施例中,对于目标容器镜像中的每个镜像层,可先查询容器镜像库中是否已经存储所述镜像层;若未存储,向容器镜像库发送该镜像层;若已存储,则继续查询容器镜像库中是否已经存储该镜像层的下一个镜像层,通过循环执行上述查询以及上传镜像层步骤,直至确认目标容器镜像中所有镜像层均上传完成后,上传所述目标容器镜像的元数据文件,至此,完成目标容器镜像的上传和存储流程。
S2:运行所述目标容器镜像创建部署执行容器,将所述目标程序文件远程传输至目标服务器。
可以理解的是,在服务部署过程中,通常基于项目容器镜像创建并运行部署执行容器。其中,项目容器镜像基于应用程序及其依赖包构建而成,带有该应用程序的启动命令,当部署执行容器启动运行时,该命令被执行,因此,所述应用程序将在启动部署执行容器时被启动。
在本实施例中,可通过Docker run指令启动目标容器镜像对应的部署执行容器运行,再利用所述目标容器镜像内的发布程序,基于远程传输协议将所述目标程序文件通过预设的发布通道发送至目标服务器。
所述远程传输协议具体可为rsync,rsync是linux系统下的数据镜像备份工具,可以安全、快速地实现远程文件传输。
所述发布通道是指各目标服务器对应的传输通道。在本实施例中,发布通道的构建方式具体为以下步骤:
步骤一:Dockerflie通过预设的文件提取程序提取所述目标程序文件的目标文件名。
步骤二:将所述目标文件名发送至所述目标服务器,以构建所述目标服务器对应的发布通道。
可以理解的是,对于每个独立的部署目标服务器,后续可利用预先构建的发布通道传输程序文件,将程序文件准确发送至对应的目标服务器中,以提高任务发布的稳定性。
本发明上述实施例在OCI标准的基础上定制了服务部署层,以作为传统服务器储存与程序文件发布的中转流程;在应用程序部署过程中,通过在服务部署层中获取目标容器镜像,并利用预先设置的发布通道将目标容器镜像中的目标程序文件发送至目标服务器中,使得每次发布过程被有效隔离,实现在传统容器集群发布架构下,更稳定地发布任务。
请参阅图2,第二方面,本发明提供一种基于容器技术的CI/CD服务部署装置,具体包括构建单元101和发布单元102,其中:
所述构建单元101用于根据所接收的构建指令,构建所述目标程序文件对应的目标容器镜像,并基于OCI标准,将所述目标容器镜像存储于容器镜像库中。
所述发布单元102用于响应所接收的发布指令,从所述容器镜像库中获取所述目标容器镜像;运行所述目标容器镜像创建部署执行容器,将所述目标程序文件远程传输至目标服务器。
CI/CD又称为持续集成/交付,是一种通过在应用开发阶段引入自动化实现频繁交付应用的方法,其中,CI表示持续集成(Continuous Integration),CD则表示持续交付(Continuous Delivery)和持续部署(Continuous Deployment)。
容器镜像库则是提供容器镜像的上传、下载以及管理功能的仓库,容器镜像库存储了大量的容器镜像,容器镜像库可以基于容器registry协议实现。
为了实现传统服务器部署与容器构建技术的兼容,本发明实施例在容器镜像的构建过程中加入了部署层,具体涉及三个关键参数和部署执行器程序(deployer)。一是部署层文件来源阶段(stage),其指定了在容器镜像构建过程中,哪一层的文件会作为构建产物文件被部署;二是部署目标文件列表,其指定了在原始容器镜像构建过程中,来源于部署层文件来源阶段的哪部分文件会作为构建产物文件被部署;三是部署层基础镜像,其指定了来源于部署层文件来源阶段的部署目标文件列表被储存于哪些基础镜像中。
部署执行器程序则被提前储存在部署层的基础镜像中,或可在运行部署镜像时,通过文件挂载方式注入部署执行容器。部署执行器程序接收来自于CI/CD的部署参数后,通过运行容器镜像创建部署执行容器,将储存在同一容器内的部署目标远程传输到指定部署目标服务器。
可以理解的是,在构建单元101中,所述目标程序文件通过容器镜像进行构建,以确保构建环境的绝对独立及隔离。具体地,容器镜像的构建流程如下述:
当接收到构建指令时,运行Dockerfile文件,通过读取和执行Dockerfile中的docker build指令,构建目标程序文件对应的目标容器镜像。
完成目标容器镜像构建后,在本实施例中,当接收到镜像发送指令时,基于OCI标准,将所构建的目标容器镜像上传至容器镜像库,其中,镜像发送指令具体可以是dockerpush指令。
容器镜像库接收到所述目标容器镜像后,对应存储该目标容器镜像以及该目标容器镜像的镜像标识。
具体地,docker build命令用于使用Dockerfile创建容器镜像,具体可在dockerbuild命令中使用-f标志指向文件系统中任意位置的Dockerfile,Dockerfile由若干行命令语句组成,通常包括基础镜像信息、镜像操作指令和容器启动执行指令。
OCI(Open Container Initiative)标准又称为开放容器计划,是Linux基金会旗下的合作项目,其以开放治理的方式制定了操作系统虚拟化(特别是Linux容器)的开放工业标准。目前,OCI已制定了容器运行时规范和容器镜像规范,两个规范是互相关联的。容器镜像规范定义了镜像的组成,包括文件格式和内容、清单(manifest)、镜像索引(可选)、文件系统的分层和配置文件;运行时规范则依据该配置,创建容器来运行程序。可以理解的是,镜像规范助于创建可互操作的工具,而运行时规范规定了容器的配置、执行环境和生命周期。
上述实施例利用OCI标准统一了标准化容器镜像格式,以获取一个稳定的声明式依赖环境。在根据OCI标准进行程序文件的上传、下载及存储的过程中,标准镜像能够在各容器中构建、传递及准备容器镜像运行,而无需自定义协议,从而简化了文件数据的传输和存储流程,提高运行效率。
在另一个实施例中,构建单元101对于目标容器镜像中的每个镜像层,可先查询容器镜像库中是否已经存储所述镜像层;若未存储,向容器镜像库发送该镜像层;若已存储,则继续查询容器镜像库中是否已经存储该镜像层的下一个镜像层,通过循环执行上述查询以及上传镜像层步骤,直至确认目标容器镜像中所有镜像层均上传完成后,上传所述目标容器镜像的元数据文件,以完成目标容器镜像的上传和存储流程。
在一个实施例中,发布单元102用于服务部署过程,在服务部署过程中,通常基于项目容器镜像创建并运行部署执行容器。其中,项目容器镜像基于应用程序及其依赖包构建而成,带有该应用程序的启动命令,当部署执行容器启动运行时,该命令被执行,因此,所述应用程序将在启动部署执行容器时被启动。
在本实施例中,可通过Docker run指令启动目标容器镜像对应的部署执行容器运行,再利用所述目标容器镜像内的发布程序,基于远程传输协议将所述目标程序文件通过预设的发布通道发送至目标服务器。
所述远程传输协议具体可为rsync,rsync是linux系统下的数据镜像备份工具,可以安全、快速地实现远程文件传输。
所述发布通道是指各目标服务器对应的传输通道。在本实施例中,发布通道的构建方式具体为以下步骤:
步骤一:Dockerflie通过预设的文件提取程序提取所述目标程序文件的目标文件名。
步骤二:将所述目标文件名发送至所述目标服务器,以构建所述目标服务器对应的发布通道。
可以理解的是,对于每个独立的部署目标服务器,后续可利用预先构建的发布通道传输程序文件,将程序文件准确发送至对应的目标服务器中,以提高任务发布的稳定性。
本发明上述实施例在OCI标准的基础上定制了服务部署层,以作为传统服务器储存与程序文件发布的中转流程;在应用程序部署过程中,通过在服务部署层中获取目标容器镜像,并利用预先设置的发布通道将目标容器镜像中的目标程序文件发送至目标服务器中,使得每次发布过程被有效隔离,实现在传统容器集群发布架构下,更稳定地发布任务。
需要说明的是,上述装置内的各单元之间更多的信息交互、执行过程等内容,由于与本发明第一方面的方法实施例基于同一构思,具体内容可参见本发明方法实施例中的叙述,此处不再赘述。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方法的目的。
第三方面,本发明提供一种数据处理设备,包括处理器,所述处理器和存储器耦合,所述存储器存储有程序,所述程序由所述处理器执行,使得所述数据处理设备执行第一方面所述的基于容器技术的CI/CD服务部署方法。
第四方面,本发明还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时,实现如上述第一方面所述的基于容器技术的CI/CD服务部署方法。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于计算机可监听存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random AccessMemory,RAM)等。
以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围。

Claims (10)

1.一种基于容器技术的CI/CD服务部署方法,其特征在于,包括:
响应于所接收的发布指令,从容器镜像库中获取目标容器镜像;所述目标容器镜像基于OCI标准存储于所述容器镜像库中,内含待部署的目标程序文件;
运行所述目标容器镜像创建部署执行容器,将所述目标程序文件远程传输至目标服务器。
2.根据权利要求1所述的基于容器技术的CI/CD服务部署方法,其特征在于,所述将所述目标程序文件远程传输至目标服务器,具体为:
利用所述目标容器镜像内的发布程序,基于远程传输协议将所述目标程序文件通过发布通道发送至目标服务器;所述发布通道是指各所述目标服务器对应的传输通道。
3.根据权利要求2所述的基于容器技术的CI/CD服务部署方法,其特征在于,所述发布通道的构建方式具体为:
Dockerflie通过预设的文件提取程序提取所述目标程序文件的目标文件名;
将所述目标文件名发送至所述目标服务器,以构建所述目标服务器对应的发布通道。
4.根据权利要求1所述的基于容器技术的CI/CD服务部署方法,其特征在于,所述目标容器镜像通过下述步骤构建:
响应于所接收的构建指令,运行Dockerfile文件,构建所述目标程序文件对应的目标容器镜像。
5.一种基于容器技术的CI/CD服务部署装置,其特征在于,包括:
构建单元和发布单元;其中,
所述构建单元用于根据所接收的构建指令,构建所述目标程序文件对应的目标容器镜像,并基于OCI标准,将所述目标容器镜像存储于容器镜像库中;
所述发布单元用于响应所接收的发布指令,从所述容器镜像库中获取所述目标容器镜像;运行所述目标容器镜像创建部署执行容器,将所述目标程序文件远程传输至目标服务器。
6.根据权利要求5所述的基于容器技术的CI/CD服务部署装置,其特征在于,所述将所述目标程序文件远程传输至目标服务器,具体为:
利用所述目标容器镜像内的发布程序,基于远程传输协议将所述目标程序文件通过发布通道发送至目标服务器;
所述发布通道是指各所述目标服务器对应的传输通道。
7.根据权利要求6所述的基于容器技术的CI/CD服务部署装置,其特征在于,所述发布通道的构建方式具体为:
Dockerflie通过预设的文件提取程序提取所述目标程序文件的目标文件名;
将所述目标文件名发送至所述目标服务器,以构建所述目标服务器对应的发布通道。
8.根据权利要求5所述的基于容器技术的CI/CD服务部署装置,其特征在于,所述目标容器镜像具体通过下述步骤构建:
响应于所接收的构建指令,运行Dockerfile文件,构建所述目标程序文件对应的目标容器镜像。
9.一种数据处理设备,其特征在于,包括:
处理器,所述处理器和存储器耦合,所述存储器存储有程序,所述程序由所述处理器执行,使得所述数据处理设备执行如权利要求1~5中任一项所述的基于容器技术的CI/CD服务部署方法。
10.一种计算机存储介质,其特征在于,所述计算机存储介质存储有计算机指令,所述计算机指令用于执行上述权利要求1~5中任一项所述的基于容器技术的CI/CD服务部署方法。
CN202111238200.7A 2021-10-22 2021-10-22 一种基于容器技术的ci/cd服务部署方法、装置、设备及介质 Pending CN114035890A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111238200.7A CN114035890A (zh) 2021-10-22 2021-10-22 一种基于容器技术的ci/cd服务部署方法、装置、设备及介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111238200.7A CN114035890A (zh) 2021-10-22 2021-10-22 一种基于容器技术的ci/cd服务部署方法、装置、设备及介质

Publications (1)

Publication Number Publication Date
CN114035890A true CN114035890A (zh) 2022-02-11

Family

ID=80141804

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111238200.7A Pending CN114035890A (zh) 2021-10-22 2021-10-22 一种基于容器技术的ci/cd服务部署方法、装置、设备及介质

Country Status (1)

Country Link
CN (1) CN114035890A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115828231A (zh) * 2022-10-28 2023-03-21 广州汽车集团股份有限公司 应用程序运行方法、装置、车辆以及存储介质

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115828231A (zh) * 2022-10-28 2023-03-21 广州汽车集团股份有限公司 应用程序运行方法、装置、车辆以及存储介质

Similar Documents

Publication Publication Date Title
CN110768833B (zh) 基于kubernetes的应用编排部署方法及装置
CN107577475B (zh) 一种数据中心集群系统的软件包管理方法及系统
CN107515776B (zh) 业务不间断升级方法、待升级节点和可读存储介质
CN101840346B (zh) 云主机部署的方法及系统
US20160259811A1 (en) Method and system for metadata synchronization
CN110752947A (zh) 一种k8s集群部署方法及装置,一种部署平台
CN102402446A (zh) 应用软件的安装方法和应用软件的安装装置
CN111666099B (zh) 一种应用服务发布系统
CN107783816A (zh) 虚拟机的创建方法及装置、大数据集群创建的方法及装置
CN112346752A (zh) 基于jenkins和K3S的软件环境快速部署方法
US11157434B2 (en) Service deployment in a cluster of I/O devices
US20120054743A1 (en) Information Processing Apparatus and Client Management Method
CN111124286A (zh) 一种基于Libcloud的多云管理实现方法
CN116860746A (zh) 用于轻量大数据的处理系统
CN114047938B (zh) 一种构建镜像的方法、装置、设备及可读存储介质
CN114035890A (zh) 一种基于容器技术的ci/cd服务部署方法、装置、设备及介质
CN117112122A (zh) 一种集群部署方法和装置
US20200133709A1 (en) System and method for content - application split
CN116301939A (zh) 微服务部署方法、装置、终端及存储介质
CN116302354A (zh) 一种软件微服务容器化构建方法、装置、设备及介质
CN112379934A (zh) 一种云计算平台的部署方法及装置、存储介质
CN115525396A (zh) 基于云原生的应用管理方法及装置
CN113835827A (zh) 基于容器Docker的应用部署方法、装置及电子设备
FR3038088A1 (fr) Technique de reconfiguration d'un modele d'application pour un deploiement d'une application logicielle
CN113608744B (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