久闻 vagrant 的大名,之前大概的了解过,认为只不过是给 Virtualbox 虚拟机再打包的工具,那个时候就觉得这工具真的是脱裤子放P。 这个五一节整理一下思路,真的感觉是当初的思路没错,为了不学习 Virtualbox,你要学习 vagrant,其实是一样的东西。
慕课网上有个视频,对应的讲解的网址是:
https://github.com/apanly/mooc
多就不展开了。
如果我有一个10人的开发团队,丢一个很大的 box 文件给他们, 和丢给他们一个很大的 vdi 文件,真心差别不大。开发团队来一个新人,如果是新的电脑,本来安装一个 Virtualbox 就够了,现在还要安装一个 vagrant。
唯一的好处是,如果软件要升级,如果是 Virtualbox,我要登陆到每台虚拟机上,逐个升级,除非用其他的工具。 而用 vagrant,就是告诉我的小伙伴们,修改/更新 Vagrantfile 配置文件,然后运行 vagrant reload 就可以。
至于 folder_sync 那个本来就是 Virtualbox 的文件夹 export 功能。
而且那个视频演示的作者使用的是 Mac 电脑,如果开发者使用 Windows 的话,其实步骤还是很繁琐的。
介绍一下我们的开发环境搭建:
1. Windows 7 + Visual Studio Code
2. Virtualbox (把开发目录d:\mycode 导出到 Linux 虚拟机)
3. CentOS 7.x 虚拟机 (LAMP 环境)
4. 每次有新项目需要修改虚拟机里面的 Apache 配置,客户端需要修改 windows hosts 文件
如果 vagrant 环境下要修改配置,那么系统管理员要把写好的 vagrant 文件发给开发人员,由开发人员根据自己的环境修改主机名,再运行 vagrant reload –provision
在开发人员主机目录配置不一样,需要做的项目不一样,测试使用的主机名也不一样的情况下,配置 vagrant 和逐个配置 virtualbox 节省的时间和精力没少多少。