Vagrant 是一个构建虚拟开发环境的利器,它使得在团队中很容易共享开发环境,有了它,不必每个人都搭建一个自己的开发环境了。在没有使用 vagrant 之前,我在 windows 中安装了 virtualbox,然后在 virtualbox 中安装了一个 ubuntu server。在 ubuntu 中安装了 mysql、jdk 等软件,并且设置了一个共享目录,以便于将工程代码直接共享给 ubuntu。在外部开发调试过程中(Java 项目),我需要在 virtualbox 中设置好几个端口映射,如 mysql,ssh 等等。这样在 cygwin 里面就可以通过 ssh 登录 ubuntu server 了,为了使得 ssh 登录不用每次设置密码,还需要手动生成公钥私钥。换机器了,这一切我又得重新配置。新同事来了,他也得像我这样重新配置一遍。有可能他还会有问题说:为什么按照你的说明,代码在我这里却无法运行呢?

一切都从 Yining 告诉了我 vagrant 之后发生了变化,原来一切都这么简单。

安装 VirtualBox

Vagrant 其实是对 virtualbox 做了一层包装,它让使用 virtualbox 作为虚拟机更为简单。当然也可以使用 vmware,使用 vmware 那得找一个 license 了。

好吧,去这里 下载 VirtualBox。我使用的是 4.3.8 for OSX

安装 Vagrant

下载 vagrant

添加虚拟机镜像到 Vagrant

vagrant box add vdevenv ~/Workspace/vagrant/boxes/vdevenv-0.0.0.1.box

vagrant 的干净的镜像可以在这里下载:

在工作目录启动 Vagrant

进入自己的代码所在的目录,启动刚刚添加的虚拟机镜像

vagrant init vdevenv
vagrant up
vagrant ssh  # 登录到虚拟机

进入 /vagrant 目录,这里就是共享的目录,所有的代码都在这里。

Vagrant 设置

修改 Vagrantfile

分享开发环境

vagrant package

执行之后在工作目录下面会生成一个*.bax 的文件,把这个文件拷给别人就可以了

常用 Vagrant 命令

vagrant ssh
vagrant status
vagrant halt
vagrant up