Vagrant 打造跨平台的开发环境

jopen 10年前

Vagrant是一款用来构建虚拟开发环境的工具,只要使用同样的Vagrant box,团队所有成员的环境都是一样的,相当于使用了同一台测试服务器,vagrant的作用就是把测试服务器搬到各成员的个人电脑上,使用 Vagrant后,“代码在我的机器上一点问题都没有,到你的机子上怎么各种问题”将成为历史。

两个项目开发下来,因团队环境不一样,整合修bug成为了一件苦差事。虽然后来搭建了一台测试服务器,但是有时候受网络原因,还是不能连接到测试服务器上。因团队成员能力和习惯都不一样,有的使用windows,有的钟爱ubuntu环境开发,虽然可以各自搭建虚拟机,但是涉及到环境工具插件等安装也会导致环境出现差别。这样的问题明显跟团队协作背道而驰,不符合程序员的逻辑,肯定有相应的办法解决。这办法就是Vagrant,而且vagrant是open source的。

step1:安装虚拟机支持环境:VirturalBox

Click Here 下载VirturalBox,各系统的要求不一样,ubuntu直接下载deb包,直接安装就好了。VirtualBox小巧免费,直接替换掉VMWare吧。

step2:安装Vagrant

Click Here 下载Vagrant ,同样按照各系统的安装方法安装,ubuntu下也直接下载deb包,直接安装就好了。

Ps: 得益于以上两款软件的开源,以及多平台(Linux/Mac/Windows)支持,才能打造跨平台的开发环境。

step3:下载Vagrant Box

Here 是Vagrant官方所有支持的Vagrant Box镜像,Here 是ubuntu官方给出Vagrant Box镜像

step4: 添加Vagrant Box到Vagrant中

vagrant box add cjp ~/cjp/vagrant/trusty64.box    # ~/cjp/vagrant/trusty64.box 是vagrant box镜像路径

step5: 初始化vagrant box环境

cd ~/cjp/vagrant  #vagrant box 路径  vagrant init cjp    #初始化vagrant环境,cjp是vagrang box的名字,添加box到vagrant的时候添加的,见step4

此时,在目录下出现Vagrantfile的Vagrant配置文件,可以修改默认的配置,如需指定虚拟机的ip地址,则把相应的配置命令前的注释去掉:

config.vm.network "private_network", ip: "192.168.55.123"

step6:启动vagrant

vagrant up       #一定需要在Vagrantfile相应的目录下  vagrant ssh     #以ssh方式进入虚拟机

好了,成功进入虚拟机环境,可以搭建需要的开发环境。

所有环境搭建号之后,只是一个私人的开发环境,那么怎么共享给其他小伙伴,达到相同的开发环境呢?这点Vagrant肯定支持的:

vagrant package --base cjp/ubuntu --output cjp_ubuntu.box    #--base 指定在VaturalBox中的默认虚拟机名称,--output指定输出的文件名

有团队小伙伴,需要搭建开发环境只要拿到搭建的Vagrant Box 文件,vagrant add即可拥搭建相同的环境。

如需在虚拟机与本地机间传输文件,虚拟机的共享目录是/vagrant , 本地机的共享目录就虚拟机vagrantfile的目录。

来自:http://my.oschina.net/No5stranger/blog/306118