一种自动化构建虚机镜像的方法技术

技术编号:25308144 阅读:37 留言:0更新日期:2020-08-18 22:27
本发明专利技术涉及云计算技术领域,具体提供了一种自动化构建虚机镜像的方法。与现有技术相比,本发明专利技术的一种自动化构建虚机镜像的方法,分为以下步骤,S01、用户提交Packer虚机镜像定义模板到Gitlab仓库,S02、触发Jenkins构建镜像流程,根据需要设置手动触发或提交代码触发,S03、Jenkins使用Packer按照模板构建虚机镜像,S04、Jenkins推送制作好的镜像到镜像仓库。本发明专利技术开发人员只需要操作Packer模板文件,简化了操作流程,节省了时间和人力成本,极大的提高了工作效率,具有良好的推广价值。

【技术实现步骤摘要】
一种自动化构建虚机镜像的方法
本专利技术涉及云计算
,具体提供一种自动化构建虚机镜像的方法。
技术介绍
近年来云计算技术发展迅速,越来越多的企业、团体及个人选择将自己的服务或应用部署到云平台上。虚拟化技术作为云计算核心技术之一,为云计算的发展做出了强有力的支撑。云平台中的虚拟机节点通常使用虚拟机镜像文件进行实例化。针对不同功能的虚机节点,往往需要对虚机镜像进行一系列修改。在使用图形界面手动构建虚拟机镜像主要包含以下过程:1)下载需要的操作系统iso文件;2)使用iso文件创建虚拟机,并在虚拟机中根据需要进行创建用户,安装软件等操作;3)保存修改后的虚机镜像文件;4)上传虚机镜像文件到镜像仓库。在得到需要的虚机镜像文件后,开发人员往往还需要对镜像文件进行版本管理,整个操作过程十分耗费时间和经历。
技术实现思路
本专利技术是针对上述现有技术的不足,提供一种实用性强的自动化构建虚机镜像的方法。本专利技术解决其技术问题所采用的技术方案是:一种自动化构建虚机镜像的方法,分为以下步骤,S01、用户提交Packer虚机镜像定义模板到Gitlab仓库,S02、触发Jenkins构建镜像流程,根据需要设置手动触发或提交代码触发;S03、Jenkins使用Packer按照模板构建虚机镜像,S04、Jenkins推送制作好的镜像到镜像仓库。进一步的,在Gitlab仓库中,创建一个代码仓库作为Packer的模板仓库,按照镜像制作需要编写的Packer模板,并提交代码到镜像仓库。进一步的,在Jenkins配置中,首先创建一个新的JenkinsPipeline,设置源码拉取URL为虚机镜像Gitlab项目地址,设置拉取分支为所需代码分支;然后,设置触发方式为提交代码触发,如不设置触发方式则取默认方式手动触发,提供虚机源镜像地址以及镜像仓库地址,编写构建脚本命令;最后,若构建出现问题,开发人员可在Jenkins构建的控制台输出查看日志,进行Debug。进一步的,在Packer进行配置时,首先,使用Packer的JSON模板定义所需的虚机镜像,然后,在模板的builders模块中设置SSH连接,同时设置暴露VNC端口以及输出镜像的相关信息,或在此模块中设置系统的启动命令,最后,在模板的provisioners模块中定义虚机镜像启动后需要安装的软件、需要下载的包以及需要创建的用户。进一步的,所述的Packer模板为JSON格式,主要分为两部:builers部分和provisioners部分。进一步的,所述的builers部分为创建虚机主要配置,负载创建虚机并生成镜像,并含有以下标签:type:虚机种类,常用的有qemu、vmware-iso或virtualbox-iso,iso_url:iso格式源镜像加载地址,iso_checksum_type:iso格式源镜像校验码校验种类,iso_checksum:iso格式源镜像校验码,output_directory:镜像输出文件夹,shutdown_command:镜像关机命令,disk_size:硬盘大小,若未指定单位,则默认值为兆字节,format:输出镜像格式,accelerator:加速器类型,http_directory:使用HTTP服务器提供服务的目录的路径,ssh_port:SSH连接端口,ssh_username:SSH用户名,ssh_password:SSH密码,ssh_wait_timeout:SSH等待超时时间,vm_name:虚机名称,net_device:网络设备接口的驱动程序,disk_interface:磁盘接口,vnc_bind_address:VNC绑定地址,qemuargs:QEMU配置参数,boot_wait:启动虚机之后键入boot_command的等待时间,boot_command:虚机启动后需要键入的命令。作为优选,所述builers部分支持Vmware、VirtualBox或QEMU平台。进一步的,Provisioners部分主要用于虚机启动后镜像的定制化操作,主要用到的provisioners类型为shell和file,用type标签指定类型。进一步的,Shell类型的provisioner为开机后要执行的脚本程序,用户可以用这些脚本下载程序,创建用户。进一步的,File类型的provisioenr为开机后要上传的文件。常用的方式为上传用户自己打包的程序安装包,之后用shell类型provisioner安装程序。本专利技术的自动化构建虚机镜像的方法和现有技术相比,具有以下突出的有益效果:通过使用本专利技术,可以实现虚拟镜像的自动化构建,并实现了镜像的版本管理和自动化发布。开发人员只需要操作Packer模板文件,简化了操作流程,节省了时间和人力成本,极大的提高了工作效率。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。附图1是一种自动化构建虚机镜像的方法的流程图;附图2是本专利技术中Jenkins配置样例图。具体实施方式为了使本
的人员更好的理解本专利技术的方案,下面结合具体的实施方式对本专利技术作进一步的详细说明。显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例都属于本专利技术保护的范围。下面给出一个最佳实施例:如图1、2所示,本实施例中的自动化构建虚机镜像的方法,分为以下步骤,S01、用户提交Packer虚机镜像定义模板到Gitlab仓库,S02、触发Jenkins构建镜像流程,根据需要设置手动触发或提交代码触发。S03、Jenkins使用Packer按照模板构建虚机镜像,S04、Jenkins推送制作好的镜像到镜像仓库。其中,在Gitlab仓库中,创建一个代码仓库作为Packer的模板仓库,按照镜像制作需要编写的Packer模板,并提交代码到镜像仓库。在Jenkins配置中,首先创建一个新的JenkinsPipeline,设置源码拉取URL为虚机镜像Gitlab项目地址,设置拉取分支为所需代码分支;然后,设置触发方式为提交代码触发,如不设置触发方式则取默认方式手动触发,提供虚机源镜像地址以及镜像仓库地址,编写构建脚本命令;最后,若构建出现问题,开发人员可在Jenkins构建的本文档来自技高网
...

【技术保护点】
1.一种自动化构建虚机镜像的方法,其特征在于,分为以下步骤,/nS01、用户提交Packer虚机镜像定义模板到Gitlab仓库,/nS02、触发Jenkins构建镜像流程,根据需要设置手动触发或提交代码触发;/nS03、Jenkins使用Packer按照模板构建虚机镜像,/nS04、Jenkins推送制作好的镜像到镜像仓库。/n

【技术特征摘要】
1.一种自动化构建虚机镜像的方法,其特征在于,分为以下步骤,
S01、用户提交Packer虚机镜像定义模板到Gitlab仓库,
S02、触发Jenkins构建镜像流程,根据需要设置手动触发或提交代码触发;
S03、Jenkins使用Packer按照模板构建虚机镜像,
S04、Jenkins推送制作好的镜像到镜像仓库。


2.根据权利要求1所述的一种自动化构建虚机镜像的方法,其特征在于,在Gitlab仓库中,创建一个代码仓库作为Packer的模板仓库,按照镜像制作需要编写的Packer模板,并提交代码到镜像仓库。


3.根据权利要求1或2所述的一种自动化构建虚机镜像的方法,其特征在于,在Jenkins配置中,首先创建一个新的JenkinsPipeline,设置源码拉取URL为虚机镜像Gitlab项目地址,设置拉取分支为所需代码分支;
然后,设置触发方式为提交代码触发,如不设置触发方式则取默认方式手动触发,提供虚机源镜像地址以及镜像仓库地址,编写构建脚本命令;
最后,若构建出现问题,开发人员可在Jenkins构建的控制台输出查看日志,进行Debug。


4.根据权利要求3所述的一种自动化构建虚机镜像的方法,其特征在于,在Packer进行配置时,首先,使用Packer的JSON模板定义所需的虚机镜像,然后,在模板的builders模块中设置SSH连接,同时设置暴露VNC端口以及输出镜像的相关信息,或在此模块中设置系统的启动命令,最后,在模板的provisioners模块中定义虚机镜像启动后需要安装的软件、需要下载的包以及需要创建的用户。


5.根据权利要求4所述的一种自动化构建虚机镜像的方法,其特征在于,所述的Packer模板为JSON格式,主要分为两部:builers部分和provisioners部分。


6.根据权利要求5所述的一种自动化构建虚机镜像的方法,其特征在于,所述的builers部分为创建虚机主要配置,负载创建虚机并生成镜像,并含有以下标签:
type:虚机种类,常用的有qemu、vmware-iso或...

【专利技术属性】
技术研发人员:高广泽王业涛石光银谢涛涛蔡卫卫高传集
申请(专利权)人:山东汇贸电子口岸有限公司
类型:发明
国别省市:山东;37

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1