基于Vagrant快速搭建多样的软件开发环境
2018-06-04张晓亚广东理工学院电气工程系韩文龙广州爱立信通信设备有限公司
张晓亚 广东理工学院电气工程系 韩文龙 广州爱立信通信设备有限公司
Vagrant是一种虚拟机管理工具,基于Ruby语言开发,主要而不仅用于Oracle VM VitrualBox虚拟机的管理。Vagrant官方网站https://www.vagrantup.com给出的口号是:Development Environments Made Easy,让开发环境变得易于搭建。Vagrant为开发者、运维人员提供了相同的、易于操作的搭建开发环境的搭建工作流。他提供了一个声明式的配置文件,用于描述所有的需要的软件、开发包、操作系统配置、用户和其他。程序开发中修复bug的成本会指数级地增加其生产的距离。Vagrant通过提供相同的操作系统、包、用户和配置来镜像生产环境,同时让用户能够灵活地使用他们最喜欢的编辑器、IDE和浏览器。Vagrant还集成了您现有的配置管理工具,如Chef,Puppet,anUNK,或Salt,因此您可以像在生产环境一样使用相同的脚本来配置Vagrant。

图1 Vagrant架构图
1 开发环境搭建
以下以最受关注的开发语言Python软件开发环境为例,对使用vagrant工具搭建真实的Ubuntu操作系统虚拟开发环境进行阐述。需要先从http://www.vagrantbox.es/这个网站下载vagrantbox的操作系统box文件。这里使用的是https://github.com/sepetrov/trusty64/releases/download/v0.0.5/trusty64.box为64位ubuntu
操作系统的box文件。使用命令“vagrant box add trusty64trusty64.box”,即可添加一个名为trusty64的box到本地box仓库。到需要使用虚拟机的目录下使用命令“vagrantinittrusty64”就可以把本地的box初始化到当前文件夹,使用命令“vagrantup”和“vagrantssh”即可以启动和连接vagrant创建的虚拟机。以上可以看出Vagrant对于虚拟机创建的高效和便捷,同样对于虚拟机的环境搭建同样方便。下面为Python开发的常见环境:
(1)Python3.x;
(2)Pip工具;
(3)pypandoc、json-tools、py4j、requests、setuptools 等python库;
如果要打通开发环境(window下)和测试环境(VM下),还需要:
(4)共享文件夹;
以及其他的一些系统设置:……p>
