一、使用虚拟化开发环境的好处:
1、保证开发环境和生产环境一致虚拟化开发环境其实就是在本机虚拟一个生产环境,得益于硬件的低廉,开发机已经变得性能非常强劲,4核、32G内存的计算机也不需要太多的费用,跑虚拟机相当顺畅。
使用虚拟化开发环境,开发人员在本机可以使用自己喜欢或者顺手的OS(Windows、Linux、Mac OS等),而程序是运行在虚拟机中,迁移到生产环境可以避免环境不兼容导致的莫名错误。
虚拟化开发环境对于团队中开发环境OS、测试和生产环境不同的情况特别适用。
Vagrant 快速入门
如何使用vagrant在虚拟机安装Hadoop集群
Vagrant 中高效的 Puppet 模块管理
2、简化了调试环境的部署稍微复杂的系统,部署调试环境就会是个麻烦的事情,nginx、mysql、redis、mongodb等估计都要安装,可能还有一大堆第三方的开发库......,通过虚拟化技术可以简化这些工作。
虚拟环境可以由专人制作,然后分发给开发人员、测试人员,他们可以很方便的在本机调试。
如果生产环境还是多平台(或多个OS版本)的,可以制作多个虚拟机,简单切换一下就可以调试了。
二、开始制作虚拟化开发环境 1、安装VirtualBoxVirtualBox是Oracle开源的虚拟化系统,到官方网站:https://www.virtualbox.org/wiki/Downloads/ 下载virtualbox最新的版本并安装,详细过程略过。
2、使用vagrantvagrant是一个用Ruby开发的工具,封装了VirtualBox的一些命令,它简化了virtualbox虚拟机的操作,增加了自动化部署软件puppet/chef的支持
通过vagrant可以很方便的创建和部署、分发虚拟化开发环境。
3、安装vagrant注意,尽量下载最新的程序,因为VirtualBox经常升级,升级后有些接口会变化,老的vagrant可能无法使用
方法二、vagrant是ruby开发的,如果已经安装了ruby,可以用gem安装:
gem install vagrant
4、建立环境 1)建立开发环境目录(可以跳过,使用已有的目录)在资源管理器中建一个文件夹
本文是E:\workspace\devel_env
进入E:\workspace\devel_env目录中
按住shift键,在空白处按鼠标右键,在弹出菜单中点“打开命令行窗口”
box是一个zip包,包含了vagrant的配置信息和VirtualBox的虚拟机镜像文件
官方提供了一个box,
我服务器都CentOS,选了CentOS 6.3 x86_64 minimal
添加box的命令: vagrant box add base 远端的box url或者本地的box文件名 vagrant box add 是添加命令 base 是box的名称,也可以任意的标题,base是默认名称例子:
vagrant box add base vagrant box add base https://dl.dropbox.com/u/7225008/Vagrant/CentOS-6.3-x86_64-minimal.box vagrant box add base e:/vbox/CentOS-6.3-x86_64-minimal.box vagrant box add "CentOS 6.3 x86_64 minimal" e:/vbox/CentOS-6.3-x86_64-minimal.box
安装过程的信息
[vagrant] Downloading with Vagrant::Downloaders::File... [vagrant] Copying box to temporary location... [vagrant] Extracting box... [vagrant] Verifying box... [vagrant] Cleaning up downloaded box...
文件被放到C:\Users\当前用户名.vagrant.d\boxes\目录下
通过vagrant box add 这样的方式安装远程的box,可能很慢,可以先用下载工具把box下到本地
4)初始化vagrant init
如果你添加的box名称不是base,要在初始化的时候指定,例如
vagrant init "CentOS 6.3 x86_64 minimal"