CN111880903A - 一种基于DevOps的云平台虚拟机镜像自动化制作、测试及发布装置和方法 - Google Patents
一种基于DevOps的云平台虚拟机镜像自动化制作、测试及发布装置和方法 Download PDFInfo
- Publication number
- CN111880903A CN111880903A CN202010747985.XA CN202010747985A CN111880903A CN 111880903 A CN111880903 A CN 111880903A CN 202010747985 A CN202010747985 A CN 202010747985A CN 111880903 A CN111880903 A CN 111880903A
- Authority
- CN
- China
- Prior art keywords
- mirror image
- tool
- virtual machine
- testing
- devops
- 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
- 238000012360 testing method Methods 0.000 title claims abstract description 68
- 238000004519 manufacturing process Methods 0.000 title claims abstract description 61
- 238000000034 method Methods 0.000 title claims abstract description 31
- 238000013515 script Methods 0.000 claims abstract description 42
- 238000009434 installation Methods 0.000 claims abstract description 16
- 241000700605 Viruses Species 0.000 claims abstract description 6
- 238000010276 construction Methods 0.000 claims description 18
- 230000005540 biological transmission Effects 0.000 claims description 9
- 230000008569 process Effects 0.000 claims description 9
- 238000012552 review Methods 0.000 claims description 8
- 238000012795 verification Methods 0.000 claims description 8
- 238000004891 communication Methods 0.000 claims description 2
- 230000003993 interaction Effects 0.000 claims description 2
- 238000009781 safety test method Methods 0.000 claims description 2
- 230000009471 action Effects 0.000 description 3
- 230000002787 reinforcement Effects 0.000 description 3
- 238000012423 maintenance Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000004801 process automation Methods 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000004069 differentiation Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3688—Test management for test execution, e.g. scheduling of test suites
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45562—Creating, deleting, cloning virtual machine instances
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45591—Monitoring or debugging support
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Facsimiles In General (AREA)
Abstract
本发明公开一种基于DevOps流水线进行云平台虚拟机镜像自动化制作、测试以及发布的装置和方法,使用无人值守的系统安装方式,在DevOps流水线的容器环境中,使用packer工具从ISO系统镜像自动创建虚拟机并自动进行系统配置,同时可以提供自定义的预安装脚本让虚拟机执行,实现虚拟机qcow2镜像的定制化。镜像制作完成后,再通过qemu启动镜像为虚拟机,在容器中使用python脚本连接到虚拟机进行安全测试及病毒扫描。最后,将通过测试的镜像进行上传发布到镜像仓库。通过DevOps执行镜像自动化制作模板实现了无人值守、非图形化非手工的镜像制作流程,且针对不同需求可自由添加或删减定制脚本。
Description
技术领域
本发明属于云计算技术领域,涉及一种基于DevOps流水线自动进行云平台虚拟机镜像制作、安全测试及上传发布的装置和方法。
背景技术
随着云计算技术的快速发展及落地,越来越多的用户将服务迁移到云平台使用云服务器虚拟机进行部署和维护。针对不同用户的服务需求,云服务提供商需要对云服务器的虚拟机镜像进行各种定制与修改,这使得云平台需要维护和存储大量不同的公用虚拟机镜像。传统的虚拟机镜像制作方法为使用ISO镜像图形化手工配置系统设置及预装软件,需要花费大量的人力和时间。每当镜像出现需要安全补丁加固或统一添加基础配置时,又需要重复上述过程。而且制作的镜像无法规范化管理,相同镜像的制作可能因人为原因存在各种差异,不利于后期出现问题时进行排查和溯源。同时后续对镜像进行测试还需要人为通过镜像创建虚拟机进行验证操作,以及人工将镜像推送发布。
另外,因各种版本的操作系统不断更新,用户的需求也随之增加,这使得云服务提供商通过人工制作镜像成为平台推广的瓶颈之一。如对于Linux系统来说因其存在不同分支,每一分支又不断有新版本系统发布,CentOS 的6.x系列、7.x系列、8.x系列,Ubuntu 的14.04、16.04、18.04等。对于windows系统也存在2008、2012、2016、2019等不同版本和标准版、数据中心版等不同版本。大量不同系统决定了使用传统手工制作方式无法满足云平台的镜像差异化需求。
发明内容
本发明的技术任务是针对传统人工制作虚拟机镜像费时费力、无法规范化,以及测试、发布繁琐等一系列问题,提供一种基于DevOps流水线进行无人值守镜像制作,镜像测试以及上传发布的全流程自动化装置和方法。将运维和测试人员从繁重乏味的镜像制作测试和发布工作中解放出来,极大的简化了镜像制作的复杂度,缩短了镜像制作的周期,节省大量人力资源。
为达到上述目的,本发明的一种基于DevOps的云平台虚拟机镜像自动化制作、测试集发布装置和方法,针对不同版本系统的制作需求,使用者仅需要选择对应的系统模板,添加自己需要执行的预安装脚本,并将脚本路径添加到模板使其在制作过程中自动执行,然后在DevOps的web页面创建流水线运行即可。
本发明解决其技术问题所采用的技术方案是:
1、本发明提供一种基于DevOps的云平台虚拟机镜像自动化制作、测试及发布装置,包括:
1)镜像制作环境容器包括镜像自动构建工具和镜像自动测试工具:
1.1)镜像自动构建工具包含packer,qemu,git工具:
其中git负责镜像构建模板的拉取和测试环节测试文件的拉取;
其中qemu负责为ISO镜像提供系统模拟器,启动虚拟机;
其中packer负责使用模板文件的系统无人值守安装文件在虚拟机中初始化系统,上传运行预安装脚本文件,制作qcow2镜像文件;
1.2)镜像自动测试工具包含Python环境及paramiko等python库:
其中Python环境提供测试脚本的运行时环境;
其中paramiko库负责在测试环节与启动的进行ssh和sftp通信,执行相关安全测试与病毒扫描;
2)通用Linux容器包含镜像上传与校验工具:
2.1)镜像上传工具使用ftp client执行ftp传输,将原始镜像发送到镜像仓库的ftpserver;
2.2)校验工具包括openssh-client和expect工具:
其中openssh-client工具负责与镜像仓库服务器进行通信;
其中expect工具负责执行与镜像仓库服务器的交互任务,获取上传镜像的大小、MD5值信息。
2、本发明另提供一种基于DevOps的云平台虚拟机镜像自动化制作、测试及发布方法,具体操作步骤包括如下:
1)使用者通过代码托管平台github获取基础镜像制作模板项目,模板项目包括系统无人值守安装文件,预安装脚本文件和packer json配置文件;
2)使用者根据需要添加或删减项目中的预安装脚本文件,并同步对packer的json配置文件的预安装脚本路径部分进行修改;
3)使用者将修改完成的自定义制作项目上传到自己的代码托管平台git账号下;
4)使用者在DevOps平台创建构建项目,构建项目指定自定义制作镜像git项目的地址及分支、镜像制作和测试使用的镜像制作环境容器镜像,指定调用镜像制作与测试工具;
5)使用者在DevOps平台创建流水线,流水线指定使用4)中的构建项目,视需求添加人工审查环节,添加通用基础容器镜像并指定调用镜像上传工具;
6)使用者点击运行流水线项目,镜像自动进行制作与测试,制作完成后会计算并存储原始镜像MD5值;
7)测试通过后根据是否添加了人工审查环节进行操作:如有审查环节且镜像符合要求,使用者点击通过审查,流水线自动上传原始镜像到镜像仓库;如有审查环节但使用者认为镜像不满足要求,则点击不通过审查,流水线将自动销毁当前工作环境和镜像文件;如未添加人工审查,则无需人为干预流水线自动上传原始镜像到镜像仓库;
8)如上传镜像过程中出现因网络波动传输中断等问题,上传工具将自动连接到镜像仓库服务器获取镜像文件已上传的大小,并将大小返回给上传工具的ftp client进行断点续传;
9)上传完成后,上传工具会自动连接到镜像仓库服务器计算上传镜像的MD5值并返回与6)中原始镜像MD5值进行比对,如一致则认为镜像发布成功,停止流水线;如不同则认为上传失败,流水线报错终止。
方案优选地,所述镜像制作工具、镜像上传工具和校验工具均使用shell脚本。
方案优选地,所述镜像自动测试工具使用python脚本。
方案优选地,所述步骤1)系统无人值守安装文件RedHat和CentOS系统使用kickstart配置文件,Debian和Ubuntu系统使用preseed配置文件,windows系统使用Autounattend.xml文件及相关驱动文件。
方案优选地,所述步骤1)预安装脚本文件Linux系统使用shell脚本文件,windows系统使用bat批处理脚本文件和PowerShell脚本文件。
方案优选地,所述步骤1)packer json配置文件使用Json格式。
方案优选地,使用基于Jenkins的DevOps流水线管理调度Kubernetes Pod,在同一Pod中使用多个容器控制镜像制作、测试和上传。
方案优选地,所述步骤7)的镜像仓库服务器需要部署Ftp server服务。
方案优选地,所述步骤8)中与镜像仓库服务器进行自动交互使用expect预设脚本完成。
本发明的一种基于DevOps的云平台虚拟机镜像自动化制作、测试及发布装置和方法与现有技术相比所产生的有益效果是:
本发明装置由镜像构建模板,DevOps流水线和镜像仓库组成。使用无人值守的系统安装方式,在DevOps流水线的容器环境中,使用packer工具从ISO系统镜像自动创建虚拟机并自动进行系统配置,同时可以提供自定义的预安装脚本让虚拟机执行,实现虚拟机qcow2镜像的定制化(代码即镜像)。镜像制作完成后,再通过qemu启动镜像为虚拟机,在容器中使用python脚本连接到虚拟机进行安全测试及病毒扫描。最后,将通过测试的镜像进行上传发布到镜像仓库。通过DevOps执行镜像自动化制作模板实现了无人值守、非图形化非手工的镜像制作流程,且针对不同需求可自由添加或删减定制脚本,同时DevOps会对制作过程的信息、日志全程进行记录,方便进行后续的审查及溯源。
附图说明
为了更清楚地描述本发明一种基于DevOps的云平台虚拟机镜像自动化制作、测试及发布装置和方法的工作原理,下面将附上简图作进一步说明。
附图1为本发明DevOps流水线示意图,图中包含镜像制作环境和通用Linux环境两个容器。其中镜像制作环境容器负责执行虚拟机镜像自动制作与测试任务,通用Linux容器负责执行镜像上传发布任务。日志人工审查环节为可选环节。
具体实施方式
下面将结合本发明实施例中的附图1,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例一
如附图1所示,本发明的一种基于DevOps的云平台虚拟机镜像自动化制作、测试及发布装置,包括:
1、自动化制作镜像的packer模板,该模板托管在代码托管工具平台,如github,进行更新管理,每一版本的操作系统对应一个模板,模板包括:
1.1)系统无人值守安装文件:RedHat和CentOS系统使用kickstack需要的ks.cfg文件,Debian和Ubuntu系统使用debian-installer需要的preseed.cfg文件,windows系统使用Autounattend.xml文件。这些文件将自动完成系统的语言、时区等问题的设置以及系统硬盘的分区等操作,直至系统进入运行状态。
1.2)预安装脚本文件:模板中提供所有镜像需要统一运行的预安装脚本,对云平台镜像进行规范化统一配置,操作人员也可以根据需求自行添加其他脚本文件,脚本文件将在上一步虚拟机系统启动后进行执行。
1.3)Packer json配置文件:自动化构建工具packer进行镜像制作的配置文件,主要指定启动虚拟机使用的工具,如qemu等;启动虚拟机的内存、CPU等配置;镜像的名称、系统盘大小、格式及输出位置;ISO镜像的来源及MD5值;无人值守文件和驱动的位置;需要执行的预安装脚本路径等信息。
对于windows系统,模板还提供需要为windows安装的驱动文件,如virtio驱动等。
2、镜像制作、测试及上传需要的工具文件,包括:
2.1)镜像自动构建工具:该工具调用packer工具命令和1.3)中的json配置文件,传入所需参数,之后packer将自动下载ISO文件,使用qemu模拟器启动虚拟机,配置系统以及运行预安装脚本,最终输出虚拟机qcow2镜像文件。然后计算并保存镜像文件的md5值用于后续的一致性校验。
2.2)镜像自动测试工具:在获得packer制作完成的原始qcow2镜像文件后将其复制得到待测试镜像文件,防止原始镜像被测试过程污染,使用qemu模拟器启动待测试镜像文件,从代码托管平台拉取python脚本,利用paramiko库与启动的虚拟机进行ssh连接测试1.2)中的统一安全加固配置是否生效并进行病毒扫描,使用者也可以根据需要添加测试文件。
2.3)镜像发布上传工具:在镜像仓库搭建ftp 服务器,在DevOps流水线容器中使用ftp client工具将通过测试的镜像原始文件上传到镜像仓库。上传工具支持与镜像仓库服务器远程连接自动获取镜像上传的文件大小与md5值信息。如中间过程上传失败,可获取已上传部分的大小进行断点续传。上传完成后,可通过md5值进行文件校验,保证文件的一致性和完整性。
本发明通过DevOps流水线进行自动化运行,每条流水线对应Kubernetes的一个Pod,构建、测试和上传的一个或多个步骤对应运行在Pod中的一个容器上,Pod中的所有容器共享使用一个工作目录,可对工作目录下的所有文件执行操作。流水线启动时DevOps将镜像制作、测试和上传任务通过Jenkins调度到工作节点,工作节点通过Kubernetes管理Pod并在其中启动多个容器服务运行镜像制作、测试与上传工作。具体包括如下部分:
3.1)制作环境容器镜像:该容器镜像为虚拟机镜像制作提供基础工作环境,安装了2.1)和2.2)中的packer工具、镜像测试工具、qemu虚拟器等工具及其所需依赖。流水线会在镜像制作和测试步骤通过该容器镜像启动容器,在该容器中从代码托管平台拉取1中的模板文件进行镜像自动化制作;镜像制作完成后会再次拉取2.2)中的测试工具,在容器中使用qemu工具和待测试镜像文件启动虚拟机,并自动进行1.2)中的统一安全加固测试与病毒扫描。
3.2)人工审核:该操作为可选操作,为使用者提供人工审核环节,使用者可以通过DevOps查看镜像制作与测试日志,决定是否继续进行流水线的后续环节。
3.3)通用Linux容器镜像:该容器镜像为通用的Linux系统镜像,可根据需要自行选择CentOS、Ubuntu或其他系统。容器镜像中包含openssh-client、ftp-client和expect等工具,负责对通过测试的原始镜像进行上传和MD5值校验。
实施例二
实施例二提供一种基于DevOps的云平台虚拟机镜像自动化制作、测试及发布方法,基于实施例一所述的装置,具体工作流程为:
4.1)使用者通过代码托管平台获取1中基础镜像制作模板项目,模板项目包括系统无人值守安装文件,预安装脚本文件和packer json配置文件;
4.2)使用者根据需要添加或删减1.2)中的预安装脚本文件,并同步对1(3)中json配置文件的预安装脚本路径部分进行修改;
4.3)使用者将修改完成的自定义制作项目上传到自己的代码托管平台账号下;
4.4)使用者在DevOps平台创建构建项目,构建项目指定4.3)中自定义制作项目的地址及分支、镜像制作和测试使用的3.1)制作环境容器镜像,指定调用镜像制作与测试工具;
4.5)使用者在DevOps平台创建流水线,流水线指定使用4.4)中的构建项目,视需求添加3.2)的人工审查环节,添加3.3)通用基础容器镜像并指定使用镜像上传工具。
4.6)使用者点击运行流水线项目,镜像自动进行制作与测试,制作完成后会计算并存储原始镜像MD5值;
4.7)测试通过后根据是否添加了人工审查环节进行操作:如有审查环节且镜像符合要求,使用者点击通过审查,流水线自动上传原始镜像到镜像仓库;如有审查环节但使用者认为镜像不满足要求,则点击不通过审查,流水线将自动销毁当前工作环境和镜像文件;如未添加人工审查,则无需人为干预流水线自动上传原始镜像到镜像仓库。
4.8)如上传镜像过程中出现因网络波动传输中断等问题,上传工具将自动连接到镜像仓库服务器获取镜像文件已上传的大小,并将大小返回给3.3)中的ftp client进行断点续传;
4.9)上传完成后,上传工具会自动连接到镜像仓库服务器计算上传镜像的MD5值并返回与4.6)中MD5值进行比对,如一致则认为镜像发布成功,停止流水线;如不同则认为上传失败,流水线报错终止。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。
尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。
Claims (10)
1.本发明一种基于DevOps的云平台虚拟机镜像自动化制作、测试及发布装置,其特征在于,包括:
1)镜像制作环境容器包括镜像自动构建工具和镜像自动测试工具:
1.1)镜像自动构建工具包含packer,qemu,git工具:
其中git负责镜像构建模板的拉取和测试环节测试文件的拉取;
其中qemu负责为ISO镜像提供系统模拟器,启动虚拟机;
其中packer负责使用模板文件的系统无人值守安装文件在虚拟机中初始化系统,上传运行预安装脚本文件,制作qcow2镜像文件;
1.2)镜像自动测试工具包含Python环境及paramiko等python库:
其中Python环境提供测试脚本的运行时环境;
其中paramiko库负责在测试环节与启动的进行ssh和sftp通信,执行相关安全测试与病毒扫描;
2)通用Linux容器包含镜像上传与校验工具:
2.1)镜像上传工具使用ftp client执行ftp传输,将原始镜像发送到镜像仓库的ftpserver;
2.2)校验工具包括openssh-client和expect工具:
其中openssh-client工具负责与镜像仓库服务器进行通信;
其中expect工具负责执行与镜像仓库服务器的交互任务,获取上传镜像的大小、MD5值信息。
2.一种基于DevOps的云平台虚拟机镜像自动化制作、测试及发布方法,其特征在于,具体操作步骤包括如下:
1)使用者通过代码托管平台github获取基础镜像制作模板项目,模板项目包括系统无人值守安装文件,预安装脚本文件和packer json配置文件;
2)使用者根据需要添加或删减项目中的预安装脚本文件,并同步对packer的json配置文件的预安装脚本路径部分进行修改;
3)使用者将修改完成的自定义制作项目上传到自己的代码托管平台git账号下;
4)使用者在DevOps平台创建构建项目,构建项目指定自定义制作镜像git项目的地址及分支、镜像制作和测试使用的镜像制作环境容器镜像,指定调用镜像制作与测试工具;
5)使用者在DevOps平台创建流水线,流水线指定使用4)中的构建项目,视需求添加人工审查环节,添加通用基础容器镜像并指定调用镜像上传工具;
6)使用者点击运行流水线项目,镜像自动进行制作与测试,制作完成后会计算并存储原始镜像MD5值;
7)测试通过后根据是否添加了人工审查环节进行操作:如有审查环节且镜像符合要求,使用者点击通过审查,流水线自动上传原始镜像到镜像仓库;如有审查环节但使用者认为镜像不满足要求,则点击不通过审查,流水线将自动销毁当前工作环境和镜像文件;如未添加人工审查,则无需人为干预流水线自动上传原始镜像到镜像仓库;
8)如上传镜像过程中出现因网络波动传输中断等问题,上传工具将自动连接到镜像仓库服务器获取镜像文件已上传的大小,并将大小返回给上传工具的ftp client进行断点续传;
9)上传完成后,上传工具会自动连接到镜像仓库服务器计算上传镜像的MD5值并返回与6)中原始镜像MD5值进行比对,如一致则认为镜像发布成功,停止流水线;如不同则认为上传失败,流水线报错终止。
3.根据权利要求2所述的一种基于DevOps的云平台虚拟机镜像自动化制作、测试及发布方法,其特征在于,所述镜像制作工具、镜像上传工具和校验工具均使用shell脚本。
4.一种基于DevOps的云平台虚拟机镜像自动化制作、测试及发布方法,其特征在于,所述镜像自动测试工具使用python脚本。
5.根据权利要求2所述的一种基于DevOps的云平台虚拟机镜像自动化制作、测试及发布方法,其特征在于,所述步骤1)系统无人值守安装文件RedHat和CentOS系统使用kickstart配置文件,Debian和Ubuntu系统使用preseed配置文件,windows系统使用Autounattend.xml文件及相关驱动文件。
6.根据权利要求2所述的一种基于DevOps的云平台虚拟机镜像自动化制作、测试及发布方法,其特征在于,所述步骤1)预安装脚本文件Linux系统使用shell脚本文件,windows系统使用bat批处理脚本文件和PowerShell脚本文件。
7.根据权利要求2所述的一种基于DevOps的云平台虚拟机镜像自动化制作、测试及发布方法,其特征在于,所述步骤1)packer json配置文件使用Json格式。
8.根据权利要求2所述的一种基于DevOps的云平台虚拟机镜像自动化制作、测试及发布方法,其特征在于,使用基于Jenkins的DevOps流水线管理调度Kubernetes Pod,在同一Pod中使用多个容器控制镜像制作、测试和上传。
9.根据权利要求2所述的一种基于DevOps的云平台虚拟机镜像自动化制作、测试及发布方法,其特征在于,所述步骤7)的镜像仓库服务器需要部署Ftp server服务。
10.根据权利要求2所述的一种基于DevOps的云平台虚拟机镜像自动化制作、测试及发布方法,其特征在于,所述步骤8)中与镜像仓库服务器进行自动交互使用expect预设脚本完成。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010747985.XA CN111880903A (zh) | 2020-07-30 | 2020-07-30 | 一种基于DevOps的云平台虚拟机镜像自动化制作、测试及发布装置和方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010747985.XA CN111880903A (zh) | 2020-07-30 | 2020-07-30 | 一种基于DevOps的云平台虚拟机镜像自动化制作、测试及发布装置和方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111880903A true CN111880903A (zh) | 2020-11-03 |
Family
ID=73201968
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010747985.XA Pending CN111880903A (zh) | 2020-07-30 | 2020-07-30 | 一种基于DevOps的云平台虚拟机镜像自动化制作、测试及发布装置和方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111880903A (zh) |
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112486631A (zh) * | 2020-12-04 | 2021-03-12 | 浪潮云信息技术股份公司 | 一种构建虚拟机镜像的方法 |
CN112527456A (zh) * | 2020-12-10 | 2021-03-19 | 国网四川省电力公司信息通信公司 | 一种业务应用容器化改造及镜像制作的方法 |
CN112787854A (zh) * | 2020-12-30 | 2021-05-11 | 四川新网银行股份有限公司 | 一种多环境自动化任务部署系统及方法 |
CN112860438A (zh) * | 2021-02-23 | 2021-05-28 | 浪潮云信息技术股份公司 | 一种基于云平台的分布式DevOps运行方法 |
CN112882724A (zh) * | 2021-03-29 | 2021-06-01 | 浪潮云信息技术股份公司 | 一种OpenStack云平台流水线自动化部署的方法 |
CN112925536A (zh) * | 2021-03-26 | 2021-06-08 | 平安科技(深圳)有限公司 | 虚拟机系统镜像处理方法、装置、设备及存储介质 |
CN113157392A (zh) * | 2021-04-09 | 2021-07-23 | 上海云轴信息科技有限公司 | 镜像仓库高可用方法及设备 |
CN113190296A (zh) * | 2021-05-19 | 2021-07-30 | 瀚高基础软件股份有限公司 | 基于Paramiko的交互式命令执行方法及装置 |
CN113377665A (zh) * | 2021-06-25 | 2021-09-10 | 北京百度网讯科技有限公司 | 基于容器技术的测试方法、装置、电子设备及存储介质 |
CN113515293A (zh) * | 2021-04-29 | 2021-10-19 | 上海安畅网络科技股份有限公司 | 一种管理DevOps工具链的方法和系统 |
CN113779477A (zh) * | 2021-09-13 | 2021-12-10 | 科大国创云网科技有限公司 | 一种基于PaaS云平台的流水线发布方法及系统 |
CN114398192A (zh) * | 2021-12-29 | 2022-04-26 | 安芯网盾(北京)科技有限公司 | 一种检测绕过Windows控制流防护CFG的方法及装置 |
CN115048313A (zh) * | 2022-06-30 | 2022-09-13 | 中国电信股份有限公司 | 自动化测试方法及装置、计算机可读存储介质及电子设备 |
CN116339761A (zh) * | 2023-05-29 | 2023-06-27 | 天翼云科技有限公司 | 一种自动化构建镜像模板的方法、系统、存储介质、设备 |
CN112527456B (zh) * | 2020-12-10 | 2024-06-25 | 国网四川省电力公司信息通信公司 | 一种业务应用容器化改造及镜像制作的方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170124114A1 (en) * | 2015-10-28 | 2017-05-04 | Beijing Baidu Netcom Science And Technology, Ltd. | Method and Device for Pulling Virtual Machine Mirror File |
CN109062748A (zh) * | 2018-08-10 | 2018-12-21 | 郑州云海信息技术有限公司 | 一种镜像卷规格功能的自动测试方法及装置 |
CN109933408A (zh) * | 2019-03-15 | 2019-06-25 | 山东浪潮云信息技术有限公司 | 一种云计算环境下的虚拟机镜像自动化制作的装置和方法 |
CN110083369A (zh) * | 2019-04-25 | 2019-08-02 | 中电科嘉兴新型智慧城市科技发展有限公司 | 一种基于容器方案的持续集成和持续交付方法 |
-
2020
- 2020-07-30 CN CN202010747985.XA patent/CN111880903A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170124114A1 (en) * | 2015-10-28 | 2017-05-04 | Beijing Baidu Netcom Science And Technology, Ltd. | Method and Device for Pulling Virtual Machine Mirror File |
CN109062748A (zh) * | 2018-08-10 | 2018-12-21 | 郑州云海信息技术有限公司 | 一种镜像卷规格功能的自动测试方法及装置 |
CN109933408A (zh) * | 2019-03-15 | 2019-06-25 | 山东浪潮云信息技术有限公司 | 一种云计算环境下的虚拟机镜像自动化制作的装置和方法 |
CN110083369A (zh) * | 2019-04-25 | 2019-08-02 | 中电科嘉兴新型智慧城市科技发展有限公司 | 一种基于容器方案的持续集成和持续交付方法 |
Non-Patent Citations (1)
Title |
---|
丁海斌等: "基于Docker的DevOps系统设计与实现", 《指挥信息系统与技术》 * |
Cited By (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112486631A (zh) * | 2020-12-04 | 2021-03-12 | 浪潮云信息技术股份公司 | 一种构建虚拟机镜像的方法 |
CN112486631B (zh) * | 2020-12-04 | 2023-03-24 | 浪潮云信息技术股份公司 | 一种构建虚拟机镜像的方法 |
CN112527456A (zh) * | 2020-12-10 | 2021-03-19 | 国网四川省电力公司信息通信公司 | 一种业务应用容器化改造及镜像制作的方法 |
CN112527456B (zh) * | 2020-12-10 | 2024-06-25 | 国网四川省电力公司信息通信公司 | 一种业务应用容器化改造及镜像制作的方法 |
CN112787854A (zh) * | 2020-12-30 | 2021-05-11 | 四川新网银行股份有限公司 | 一种多环境自动化任务部署系统及方法 |
CN112860438A (zh) * | 2021-02-23 | 2021-05-28 | 浪潮云信息技术股份公司 | 一种基于云平台的分布式DevOps运行方法 |
CN112925536A (zh) * | 2021-03-26 | 2021-06-08 | 平安科技(深圳)有限公司 | 虚拟机系统镜像处理方法、装置、设备及存储介质 |
CN112925536B (zh) * | 2021-03-26 | 2024-05-10 | 平安科技(深圳)有限公司 | 虚拟机系统镜像处理方法、装置、设备及存储介质 |
CN112882724A (zh) * | 2021-03-29 | 2021-06-01 | 浪潮云信息技术股份公司 | 一种OpenStack云平台流水线自动化部署的方法 |
CN112882724B (zh) * | 2021-03-29 | 2024-01-30 | 浪潮云信息技术股份公司 | 一种OpenStack云平台流水线自动化部署的方法 |
CN113157392A (zh) * | 2021-04-09 | 2021-07-23 | 上海云轴信息科技有限公司 | 镜像仓库高可用方法及设备 |
CN113515293A (zh) * | 2021-04-29 | 2021-10-19 | 上海安畅网络科技股份有限公司 | 一种管理DevOps工具链的方法和系统 |
CN113190296A (zh) * | 2021-05-19 | 2021-07-30 | 瀚高基础软件股份有限公司 | 基于Paramiko的交互式命令执行方法及装置 |
CN113377665A (zh) * | 2021-06-25 | 2021-09-10 | 北京百度网讯科技有限公司 | 基于容器技术的测试方法、装置、电子设备及存储介质 |
CN113779477A (zh) * | 2021-09-13 | 2021-12-10 | 科大国创云网科技有限公司 | 一种基于PaaS云平台的流水线发布方法及系统 |
CN114398192A (zh) * | 2021-12-29 | 2022-04-26 | 安芯网盾(北京)科技有限公司 | 一种检测绕过Windows控制流防护CFG的方法及装置 |
CN115048313B (zh) * | 2022-06-30 | 2023-12-08 | 中国电信股份有限公司 | 自动化测试方法及装置、计算机可读存储介质及电子设备 |
CN115048313A (zh) * | 2022-06-30 | 2022-09-13 | 中国电信股份有限公司 | 自动化测试方法及装置、计算机可读存储介质及电子设备 |
CN116339761A (zh) * | 2023-05-29 | 2023-06-27 | 天翼云科技有限公司 | 一种自动化构建镜像模板的方法、系统、存储介质、设备 |
CN116339761B (zh) * | 2023-05-29 | 2024-03-08 | 天翼云科技有限公司 | 一种自动化构建镜像模板的方法、系统、存储介质、设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111880903A (zh) | 一种基于DevOps的云平台虚拟机镜像自动化制作、测试及发布装置和方法 | |
US10261776B2 (en) | Automated deployment and servicing of distributed applications | |
US20200387357A1 (en) | Machine generated automation code for software development and infrastructure operations | |
US9350623B2 (en) | System and method for automated deployment of multi-component computer environment | |
US10572249B2 (en) | Software kit release management | |
US8365140B2 (en) | Automated methods and systems for developing and deploying projects in parallel | |
US8745585B2 (en) | Meta-data for single development test environment | |
US20200133651A1 (en) | Release automation service in software development tools | |
US8464246B2 (en) | Automation of mainframe software deployment | |
US9830145B2 (en) | Systems and methods for infrastructure and middleware provisioning | |
CN104412231A (zh) | 创建定制虚拟机的系统和方法 | |
US20240045712A1 (en) | Transition Manager System | |
CN115357258B (zh) | 应用的部署方法、装置、存储介质及电子装置 | |
Pastrana-Pardo et al. | Approach to the Best Practices in Software Development Based on DevOps and SCRUM Used in Very Small Entities | |
EP2503450A2 (en) | Version numbering in single development and test environment | |
Torberntsson et al. | A Study of Configuration Management Systems: Solutions for Deployment and Configurationof Software in a Cloud Environment | |
Team | Continuous Integration and Continuous Deployment | |
Mustafa | AWS Services for Continuous Deployment | |
Gleb et al. | Build Automated Pipeline | |
CN118170420A (zh) | 一种代码管理方法、系统及计算设备 | |
EP2503451A2 (en) | Metadata for single development test environment | |
WO2024017536A1 (en) | Method for operating a plurality of production plants by regional hub concept of the manufacturing execution system solutions | |
Semushin | Improving Software Development Life Cycle for Odoo ERP system | |
Bui | Implementing cluster backup solution to build resilient cloud architecture | |
Heiskanen | COMPARING DEVOPS PROCESSES IN DIFFERENT CLOUD PLATFORMS FROM A SOFTWARE DEVELOPERS PERSPECTIVE |
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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20201103 |