CN109933408A - 一种云计算环境下的虚拟机镜像自动化制作的装置和方法 - Google Patents
一种云计算环境下的虚拟机镜像自动化制作的装置和方法 Download PDFInfo
- Publication number
- CN109933408A CN109933408A CN201910197168.9A CN201910197168A CN109933408A CN 109933408 A CN109933408 A CN 109933408A CN 201910197168 A CN201910197168 A CN 201910197168A CN 109933408 A CN109933408 A CN 109933408A
- Authority
- CN
- China
- Prior art keywords
- virtual machine
- gitlab
- jenkins
- api
- cloud computing
- 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
Landscapes
- Stored Programmes (AREA)
Abstract
本发明公开了一种云计算环境下的虚拟机镜像自动化制作的装置和方法,属于云计算领域。本发明改变了传统通过图形界面方式人为进行操作的方式,开造地引入无人值守的模板配置,再利用开源软件工具实现自动化制作虚拟机镜像的目的。同时模板配置可作为代码托管在GitLab仓库,将镜像制作的流程作为Jenkins的job进行管理,GitLab对应的项目通过webhook和Jenkins的job进行联动,当有模板配置发生变化推送到GitLab后,会通过webhook给Jenkins下发指令,触发自动化制作。另外通过数据库记录构建的日志,包括镜像基本信息、变更内容和变更时间,以便后续进行运维和审计。
Description
技术领域
本发明涉及云计算领域,具体地说是涉及一种云计算环境下的虚拟机镜像自动化制作的装置和方法。
背景技术
随着云计算技术的发展和快速落地,越来越多的应用服务部署到云环境中虚拟机内部,使得云平台会维护大量的虚拟机镜像。就各大公有云厂商来说,维护的公共镜像有Windows和Linux等体系,每个体系又有很多的发行版及其很多的版本,如linux家族中的CentOS,有6.5/6.8/6.9/7.1/7.2/7.3/7.4等多个版本。随着各大发行版的不停发布新版本,后续提供的公共镜像会越来越多。
传统的镜像制作方式是通过从ISO启动虚拟机,按照装机的流程人为去一步步完成系统和应用软件的预装。当后续发布补丁时,再按照此流程进行更新。这种方式,制作过程枯燥乏味,且很容易出错,耗费大量的人力,同时没有制作记录导致镜像每次的变更内容无法跟踪和审计。
为解决此问题,本文发明一种云计算环境下的虚拟机镜像自动化制作的装置和方法。
发明内容
本发明的技术任务是针对现有虚拟机镜像制作工作费时费力的不足,为解放人为的工作,提供一种云计算环境下的虚拟机镜像自动化制作的装置和方法,本发明将运维人员从现有手动制作虚拟机镜像的繁琐工作中解放出来,他们仅需修改模板配置,推送到GitLab,会自动触发制作过程,制作完成后记录变更内容。
本发明解决其技术问题所采用的技术方案是:
1、本发明提供一种云计算环境下的虚拟机镜像自动制作的装置,包括:
服务端Server,负责对外提供接口API给用户,同时下发镜像制作指令给Worker;
在服务端Server部署有API service、GitLab、Jenkins、数据库模块DB;
其中API service:提供API服务,完成装置的初始化工作,包括数据库和表的建立、GitLab项目建立、Jenkins任务的创建等工作,接收来自Worker反馈的制作结果,记录到数据库中;
其中GitLab:使用项目托管各个操作系统的模板配置;
其中Jenkins:使用任务来建立虚拟机镜像制作的流程;
其中DB:存储虚拟机镜像制作的日志,包括镜像的基本信息、变更内容和变更时间;
工作端Worker,负责接收Server下发的制作指令,使用开源工具Packer完成镜像的制作,完成后调用Server端的API记录本次镜像制作的日志;
其中Packer:开源工具,用于制作虚拟机镜像。
2、本发明另提供一种云计算环境下的虚拟机镜像自动制作的方法,具体步骤包括如下:
1)搭建服务端Server,部署API service、GitLab、Jenkins、数据库模块DB;
2)API service根据配置初始化GitLab项目和Jenkins job;
3)搭建工作端Worker,部署Packer,并注册为Jenkins的节点;
4)用户按照模板配置的格式提交变更到GitLab,GitLab会触发Jenkins job运行,Jenkins会选择Worker运行job进行构建,Worker运行完成后调用API完成构建日志的注册;
5)API service接收到Worker反馈的构建结果后,记录构建日志到数据库。
可选地,所述步骤1)中服务端Server可以部署在物理机或者虚拟机上。
可选地,所述步骤2)中的配置是ini格式,API service读取此配置调用GitLabAPI完成项目预置,调用Jenkins API完成job预置。
可选地,所述步骤3)中工作端Worker可以部署在物理机或者虚拟机上,Packer为开源软件,在Jenkins中配置完成节点注册。
可选地,所述步骤4)中模板配置的格式包括json、shell脚本、kickstarter、preseed等。
可选地,所述步骤2)中API service根据配置初始化时,会根据配置的操作系统,建立GitLab项目和Jenkins job,同时将对应的项目和job通过webhook进行关联。
可选地,所述步骤4)中GitLab的项目和Jenkins的job通过GitLab中的webhook进行联动。
可选地,所述步骤4)中Worker调用的API为API service提供的API。
可选地,所述步骤5)中API service调用数据库(MySQL)SDK完成构建日志的记录,包括镜像基本信息、变更内容和变更时间,以便后续进行运维和审计。
本发明的一种云计算环境下的虚拟机镜像自动化制作的装置和方法,与现有技术相比所产生的有益效果是:
1、本发明改变了传统通过图形界面方式人为进行操作的方式,开造地引入无人值守的模板配置,再利用开源软件工具实现自动化制作虚拟机镜像的目的。同时模板配置可作为代码托管在GitLab仓库,将镜像制作的流程作为Jenkins的job进行管理,GitLab对应的项目通过webhook和Jenkins的job进行联动,当有模板配置发生变化推送到GitLab后,会通过webhook给Jenkins下发指令,触发自动化制作。另外通过数据库记录构建的日志,包括镜像基本信息、变更内容和变更时间,以便后续进行运维和审计。
2、本发明设计的装置会自动化进行虚拟机镜像的制作和变更记录。不论是增加一个新版本或者新操作系统的镜像制作,还是后续每个镜像的补丁更新,都可以使用此方法和装置,运维人员仅需按照格式完成模板配置的更新,推送到GitLab,此方法和装置会完成后续的镜像制作和变更日志的记录,后续通过CLI或者API可查询每个变更的内容,便于进行审计和跟踪。
附图说明
附图1为本发明提供的云计算环境下虚拟机镜像自动制作装置的结构图;
附图2为本发明提供的云计算环境下虚拟机镜像自动制作方法的工作流程图。
具体实施方式
下面结合附图1-2,对本发明的一种云计算环境下的虚拟机镜像自动化制作的装置和方法作以下详细说明。
实施例一
结合附图1,本发明的一种云计算环境下的虚拟机镜像自动制作的装置,包括:
服务端Server,负责对外提供接口API给用户,同时下发镜像制作指令给Worker;
在服务端Server部署有API service、GitLab、Jenkins、数据库模块DB;
其中API service:提供API服务,完成装置的初始化工作,包括数据库和表的建立、GitLab项目建立、Jenkins任务的创建等工作,接收来自Worker反馈的制作结果,记录到数据库中;
其中GitLab:使用项目托管各个操作系统的模板配置;
其中Jenkins:使用任务来建立虚拟机镜像制作的流程;
其中DB:存储虚拟机镜像制作的日志,包括镜像的基本信息、变更内容和变更时间;
工作端Worker,负责接收Server下发的制作指令,使用开源工具Packer完成镜像的制作,完成后调用Server端的API记录本次镜像制作的日志;
其中Packer:开源工具,用于制作虚拟机镜像。
实施例二
结合附图1、2,本发明的一种云计算环境下的虚拟机镜像自动制作的装置的使用方法,具体步骤包括如下:
1)搭建服务端Server,部署API service、GitLab、Jenkins、数据库模块DB;
2)API service根据配置初始化GitLab项目和Jenkins job;
3)搭建工作端Worker,部署Packer,并注册为Jenkins的节点;
4)用户按照模板配置的格式提交变更到GitLab,GitLab会触发Jenkins job运行,Jenkins会选择Worker运行job进行构建,Worker运行完成后调用API完成构建日志的注册;
5)API service接收到Worker反馈的构建结果后,记录构建日志到数据库。
本发明步骤1)中服务端Server可以部署在物理机或者虚拟机上。
本发明步骤2)中的配置是ini格式,API service读取此配置调用GitLab API完成项目预置,调用Jenkins API完成job预置。
本发明步骤2)中API service根据配置初始化时,会根据配置的操作系统,建立GitLab项目和Jenkins job,同时将对应的项目和job通过webhook进行关联。
本发明步骤3)中工作端Worker可以部署在物理机或者虚拟机上,Packer为开源软件,在Jenkins中配置完成节点注册。
本发明中,步骤4)中模板配置的格式包括json、shell脚本、kickstarter、preseed等。
本发明步骤4)中GitLab的项目和Jenkins的job通过GitLab中的webhook进行联动,即GitLab通过webhook触发Jenkins的job运行。
本发明步骤4)中Worker调用的API为API service提供的API。
本发明步骤5)中API service调用数据库(MySQL)SDK完成构建日志的记录,包括镜像基本信息、变更内容和变更时间,以便后续进行运维和审计。
尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
除说明书所述的技术特征外,均为本专业技术人员的已知技术。
Claims (10)
1.一种云计算环境下的虚拟机镜像自动制作的装置,其特征在于,包括:
服务端Server,负责对外提供接口API给用户,同时下发镜像制作指令给Worker;
在服务端Server部署有API service、GitLab、Jenkins、数据库模块DB;
其中API service:提供API服务,完成装置的初始化工作,包括数据库和表的建立、GitLab项目建立、Jenkins任务的创建工作,接收来自Worker反馈的制作结果,记录到数据库中;
其中GitLab:使用项目托管各个操作系统的模板配置;
其中Jenkins:使用任务来建立虚拟机镜像制作的流程;
其中DB:存储虚拟机镜像制作的日志,包括镜像的基本信息、变更内容和变更时间;
工作端Worker,负责接收Server下发的制作指令,使用开源工具Packer完成镜像的制作,完成后调用Server端的API记录本次镜像制作的日志;
其中Packer:开源工具,用于制作虚拟机镜像。
2.一种云计算环境下的虚拟机镜像自动制作的方法,其特征在于,基于权利要求1所述的装置,具体步骤包括如下:
1)搭建服务端Server,部署API service、GitLab、Jenkins、数据库模块DB;
2)API service根据配置初始化GitLab项目和Jenkins job;
3)搭建工作端Worker,部署Packer,并注册为Jenkins的节点;
4)用户按照模板配置的格式提交变更到GitLab,GitLab会触发Jenkinsjob运行,Jenkins会选择Worker运行job进行构建,Worker运行完成后调用API完成构建日志的注册;
5)API service接收到Worker反馈的构建结果后,记录构建日志到数据库。
3.如权利要求2所述的一种云计算环境下的虚拟机镜像自动制作的方法,其特征在于,所述步骤1)中服务端Server部署在物理机或者虚拟机上。
4.如权利要求2或3所述的一种云计算环境下的虚拟机镜像自动制作的方法,其特征在于,所述步骤2)中的配置是ini格式,API service读取此配置调用GitLab API完成项目预置,调用Jenkins API完成job预置。
5.如权利要求2或3所述的一种云计算环境下的虚拟机镜像自动制作的方法,其特征在于,所述步骤3)中工作端Worker部署在物理机或者虚拟机上,Packer为开源软件,在Jenkins中配置完成节点注册。
6.如权利要求2或3所述的一种云计算环境下的虚拟机镜像自动制作的方法,其特征在于,所述步骤4)中模板配置的格式包括json、shell脚本、kickstarter、preseed。
7.如权利要求2或3所述的一种云计算环境下的虚拟机镜像自动制作的方法,其特征在于,所述步骤2)中API service根据配置初始化时,会根据配置的操作系统,建立GitLab项目和Jenkins job,同时将对应的项目和job通过webhook进行关联。
8.如权利要求7所述的一种云计算环境下的虚拟机镜像自动制作的方法,其特征在于,所述步骤4)中GitLab的项目和Jenkins的job通过GitLab中的webhook进行联动。
9.如权利要求2、3或8所述的一种云计算环境下的虚拟机镜像自动制作的方法,其特征在于,所述步骤4)中Worker调用的API为API service提供的API。
10.如权利要求2、3或8所述的一种云计算环境下的虚拟机镜像自动制作的方法,其特征在于,所述步骤5)中API service调用数据库(MySQL)SDK完成构建日志的记录。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910197168.9A CN109933408A (zh) | 2019-03-15 | 2019-03-15 | 一种云计算环境下的虚拟机镜像自动化制作的装置和方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910197168.9A CN109933408A (zh) | 2019-03-15 | 2019-03-15 | 一种云计算环境下的虚拟机镜像自动化制作的装置和方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109933408A true CN109933408A (zh) | 2019-06-25 |
Family
ID=66987175
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910197168.9A Pending CN109933408A (zh) | 2019-03-15 | 2019-03-15 | 一种云计算环境下的虚拟机镜像自动化制作的装置和方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109933408A (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110427193A (zh) * | 2019-08-01 | 2019-11-08 | 上海麦克风文化传媒有限公司 | 一种互联网系统持续集成和发布系统 |
CN110807198A (zh) * | 2019-11-04 | 2020-02-18 | 吉林亿联银行股份有限公司 | 一种修复漏洞的信息的获取方法及补丁处理系统 |
CN111552542A (zh) * | 2020-05-06 | 2020-08-18 | 山东汇贸电子口岸有限公司 | 一种自动化构建虚机镜像的方法 |
CN111740494A (zh) * | 2020-06-14 | 2020-10-02 | 石霜霜 | 基于边缘计算和云计算的数据管理方法及边缘计算平台 |
CN111880903A (zh) * | 2020-07-30 | 2020-11-03 | 浪潮云信息技术股份公司 | 一种基于DevOps的云平台虚拟机镜像自动化制作、测试及发布装置和方法 |
CN112486631A (zh) * | 2020-12-04 | 2021-03-12 | 浪潮云信息技术股份公司 | 一种构建虚拟机镜像的方法 |
CN115712415A (zh) * | 2023-01-10 | 2023-02-24 | 深圳市明源云采购科技有限公司 | 桩代码自动生成和同步的方法、装置、设备及介质 |
CN115905272A (zh) * | 2023-01-09 | 2023-04-04 | 深圳市明源云采购科技有限公司 | 索引自动更新方法、索引自动更新装置、设备及介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104679574A (zh) * | 2013-11-26 | 2015-06-03 | 谢蓉 | 云计算中虚拟机镜像管理系统 |
US20160266884A1 (en) * | 2013-08-22 | 2016-09-15 | Vmware, Inc. | Method and system for network-less guest os and software provisioning |
CN106534266A (zh) * | 2016-10-19 | 2017-03-22 | 南京邮电大学 | 一种基于Agent的多环境应用并行的云平台及其工作方法 |
CN106873975A (zh) * | 2016-12-30 | 2017-06-20 | 武汉默联股份有限公司 | 基于Docker的devops持续交付与自动化系统及方法 |
CN109144880A (zh) * | 2018-09-06 | 2019-01-04 | 北京京东尚科信息技术有限公司 | 镜像文件的管理方法及系统、设备、存储介质 |
-
2019
- 2019-03-15 CN CN201910197168.9A patent/CN109933408A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160266884A1 (en) * | 2013-08-22 | 2016-09-15 | Vmware, Inc. | Method and system for network-less guest os and software provisioning |
CN104679574A (zh) * | 2013-11-26 | 2015-06-03 | 谢蓉 | 云计算中虚拟机镜像管理系统 |
CN106534266A (zh) * | 2016-10-19 | 2017-03-22 | 南京邮电大学 | 一种基于Agent的多环境应用并行的云平台及其工作方法 |
CN106873975A (zh) * | 2016-12-30 | 2017-06-20 | 武汉默联股份有限公司 | 基于Docker的devops持续交付与自动化系统及方法 |
CN109144880A (zh) * | 2018-09-06 | 2019-01-04 | 北京京东尚科信息技术有限公司 | 镜像文件的管理方法及系统、设备、存储介质 |
Non-Patent Citations (2)
Title |
---|
丁海斌 等: "基于Docker的DevOps系统设计与实现", 《指挥信息系统与技术》 * |
日本雅虎的基础设施工程团队: "落地案例|日本雅虎如何在 OpenStack 上大规模构建和运行", 《HTTPS://CAICLOUD.IO/BLOG/5832C9A46DFD62281E000002》 * |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110427193A (zh) * | 2019-08-01 | 2019-11-08 | 上海麦克风文化传媒有限公司 | 一种互联网系统持续集成和发布系统 |
CN110807198A (zh) * | 2019-11-04 | 2020-02-18 | 吉林亿联银行股份有限公司 | 一种修复漏洞的信息的获取方法及补丁处理系统 |
CN111552542A (zh) * | 2020-05-06 | 2020-08-18 | 山东汇贸电子口岸有限公司 | 一种自动化构建虚机镜像的方法 |
CN111552542B (zh) * | 2020-05-06 | 2023-03-31 | 山东汇贸电子口岸有限公司 | 一种自动化构建虚机镜像的方法 |
CN111740494A (zh) * | 2020-06-14 | 2020-10-02 | 石霜霜 | 基于边缘计算和云计算的数据管理方法及边缘计算平台 |
CN111880903A (zh) * | 2020-07-30 | 2020-11-03 | 浪潮云信息技术股份公司 | 一种基于DevOps的云平台虚拟机镜像自动化制作、测试及发布装置和方法 |
CN112486631A (zh) * | 2020-12-04 | 2021-03-12 | 浪潮云信息技术股份公司 | 一种构建虚拟机镜像的方法 |
CN115905272A (zh) * | 2023-01-09 | 2023-04-04 | 深圳市明源云采购科技有限公司 | 索引自动更新方法、索引自动更新装置、设备及介质 |
CN115712415A (zh) * | 2023-01-10 | 2023-02-24 | 深圳市明源云采购科技有限公司 | 桩代码自动生成和同步的方法、装置、设备及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109933408A (zh) | 一种云计算环境下的虚拟机镜像自动化制作的装置和方法 | |
Leau et al. | Software development life cycle AGILE vs traditional approaches | |
CN103235725A (zh) | 一种基于linux的Oracle数据库在云计算中的快速部署方法 | |
CN106155651A (zh) | 应用程序版本的自动化发布及更新的方法和系统 | |
JP6636097B2 (ja) | 空間のビジュアルモデルレイアウトを作成する方法、装置およびデバイス | |
CN104572201B (zh) | 一种基于三维模型的航天器总装信息变更系统及变更方法 | |
CN109388910A (zh) | 一种基于bim的工程建设施工工艺管理系统和方法 | |
US11790421B2 (en) | Systems for generating, customizing, and automatedly e-mailing a request for quotation for fabricating a computer-modeled structure from within a CAD program | |
JP5443858B2 (ja) | 作業指示図生成装置および作業指示図生成方法 | |
Teizer et al. | A serious gaming approach to integrate BIM, IoT, and lean construction in construction education | |
CN108984205A (zh) | 一种基于容器技术的应用自动化构建与部署的方法及装置 | |
CN112068845A (zh) | 一种适配多架构的容器化cicd服务部署方法及装置 | |
CN109360123B (zh) | 一种基于房间的多专业施工管理方法和系统 | |
CN111124376A (zh) | codeCli脚手架搭建项目系统 | |
CN108062443A (zh) | 一种bim模型手机快速设计与机电数据库建立的方法 | |
KR102568100B1 (ko) | 증강 현실에 기반한 건축공사 안전관리 지원 시스템 및 방법 | |
CN114219321A (zh) | 一种信息系统投产准备方法及装置 | |
CN108762765B (zh) | 基于contiki系统的开发板程序编译下载方法 | |
CN110287566A (zh) | 一种基于bim对隧道掘进进度及工序控制的系统 | |
CN108520081A (zh) | 一种室内装修裱糊吊顶绘制系统、方法、终端及介质 | |
US11500760B2 (en) | Operation management server, development operation support system, method thereof, and non-transitory computer readable medium storing program thereof | |
TWM535357U (zh) | 經由工程企劃引導的施工履歷監控管理系統 | |
CN108268701A (zh) | 吊顶龙骨配件移动方法、系统及电子设备 | |
CN114265595A (zh) | 一种基于智能合约的云原生应用开发与部署系统和方法 | |
Pastrana-Pardo et al. | Approach to the Best Practices in Software Development Based on DevOps and SCRUM Used in Very Small Entities |
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 | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20190625 |
|
WD01 | Invention patent application deemed withdrawn after publication |