
技术摘要:
本发明涉及云计算技术领域,具体提供了一种自动化构建虚机镜像的方法。与现有技术相比,本发明的一种自动化构建虚机镜像的方法,分为以下步骤,S01、用户提交Packer虚机镜像定义模板到Gitlab仓库,S02、触发Jenkins构建镜像流程,根据需要设置手动触发或提交代码触发, 全部
背景技术:
近年来云计算技术发展迅速,越来越多的企业、团体及个人选择将自己的服务或 应用部署到云平台上。虚拟化技术作为云计算核心技术之一,为云计算的发展做出了强有 力的支撑。云平台中的虚拟机节点通常使用虚拟机镜像文件进行实例化。针对不同功能的 虚机节点,往往需要对虚机镜像进行一系列修改。 在使用图形界面手动构建虚拟机镜像主要包含以下过程: 1)下载需要的操作系统iso文件; 2)使用iso文件创建虚拟机,并在虚拟机中根据需要进行创建用户,安装软件等操 作; 3)保存修改后的虚机镜像文件; 4)上传虚机镜像文件到镜像仓库。 在得到需要的虚机镜像文件后,开发人员往往还需要对镜像文件进行版本管理, 整个操作过程十分耗费时间和经历。
技术实现要素:
本发明是针对上述现有技术的不足,提供一种实用性强的自动化构建虚机镜像的 方法。 本发明解决其技术问题所采用的技术方案是: 一种自动化构建虚机镜像的方法,分为以下步骤, S01、用户提交Packer虚机镜像定义模板到Gitlab仓库, S02、触发Jenkins构建镜像流程,根据需要设置手动触发或提交代码触发; S03、Jenkins使用Packer按照模板构建虚机镜像, S04、Jenkins推送制作好的镜像到镜像仓库。 进一步的,在Gitlab仓库中,创建一个代码仓库作为Packer的模板仓库,按照镜像 制作需要编写的Packer模板,并提交代码到镜像仓库。 进一步的,在Jenkins配置中,首先创建一个新的Jenkins Pipeline,设置源码拉 取URL为虚机镜像Gitlab项目地址,设置拉取分支为所需代码分支; 然后,设置触发方式为提交代码触发,如不设置触发方式则取默认方式手动触发, 提供虚机源镜像地址以及镜像仓库地址,编写构建脚本命令; 最后,若构建出现问题,开发人员可在Jenkins构建的控制台输出查看日志,进行 Debug。 进一步的,在Packer进行配置时,首先,使用Packer的JSON模板定义所需的虚机镜 像,然后,在模板的builders模块中设置SSH连接,同时设置暴露VNC端口以及输出镜像的相 4 CN 111552542 A 说 明 书 2/6 页 关信息,或在此模块中设置系统的启动命令,最后,在模板的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模板文件,简化了操作流程,节省了时间和人力成 本,极大的提高了工作效率。 5 CN 111552542 A 说 明 书 3/6 页 附图说明 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现 有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明 的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据 这些附图获得其他的附图。 附图1是一种自动化构建虚机镜像的方法的流程图; 附图2是本发明中Jenkins配置样例图。