月下博客

使用Vagrant进行跨平台开发

团队开发的时候,会不时遇到由于开发环境差异造成线上代码出问题。例如Windows下文件名不区分大小写,文件和文件夹权限默认属主用户组可读写,代码直接扔到Linux服务器上可能就是fatal error…虽然这些坑都能通过代码提交后使用自动化构建工具在上线前检测出来,但类似的坑还是越少越好。

不能统一团队用的软硬件(Mac, Windows和Linux基本上各有所好),但统一一下成员所用的开发环境还是比较容易的,代价也比较小。这里介绍一下使用Vagrant来进行跨平台开发。

Vagrant是什么

Vagrant是基于Ruby的开发环境构建工具,主要解决“我电脑上运行没问题”这个过去让人头疼的问题。通过几个简单的命令就能搭建一套统一的开发环境,这就是Vagrant的神奇所在。有了Vagrant,不需要操作虚拟机就能愉快的开发,所以忘掉虚拟机那让人蛋疼的界面操作吧~

当然本人考虑使用Vagrant的主要原因不是环境问题,而是由于之前都是连到线上的服务器敲vim做开发,如果在高铁、飞机这种场合,基本上就做不了事。所以本人是在Win下玩虚拟机,顺带搞搞Vagrant~

基本概念

使用Vagrant有如下一些基本概念:

安装

系统为Win 7,虚拟化软件使用开源免费的VirtualBox。

  1. 安装VirtualBox

    到官网下载安装包并安装:https://www.virtualbox.org/

  2. 安装Vagrant软件

    到官网下安装包并安装:https://www.vagrantup.com

启动Vagrant

到官网 https://atlas.hashicorp.com/boxes/search 找一个自己喜欢的系统和版本,点击查看详情,按照提示敲命令即可生成一个虚拟机实例并运行。比如使用CentOS 7作为系统镜像:

vagrant init centos/7
vagrant up --provider virtualbox

虚拟机启动后,通过 vagrant ssh 即可登录虚拟机(无需密码),可以看到虚拟机已经正常运行。如果不放心,打开VirtualBox软件,同样能看到一个虚拟机的实例正在运行。

配置Vagrant

常用命令

Vagrant常用的命令有:

vagrant命令和子命令都可以通过添加 -h 参数查看详细用法。

参考

  1. https://www.vagrantup.com
  2. http://www.vagrantbox.es
  3. https://blog.smdcn.net/article/1308.html
  4. http://www.cnblogs.com/alexyang8/p/3380936.html