Vagrant之道
在安装 Vagrant 或了解其工作方式之前,首先必须理解 Vagrant 在实际工作环境中的高层次工作流程。这些原则合称为“Vagrant之道”。以下内容摘自 Vagrant: Up and Running(《Vagrant:启动并运行》)。
在使用 Vagrant 的世界里,开发者可以从版本控制系统中检出任意代码仓库,运行 vagrant up,无需任何人工干预即可获得一个完全运行起来的开发环境。开发者仍然可以在自己的机器上,使用自己熟悉的编辑器、浏览器和其他工具进行工作。Vagrant 的存在对开发者而言是透明且无关紧要的。Vagrant 是创建一致且稳定开发环境的主力工具。
系统运维工程师也在自己的机器上,使用自己熟悉的编辑器和工具编写系统自动化脚本。当准备测试这些脚本时,他们运行 vagrant up,即可获得一个与生产环境相匹配的完整沙箱(sandbox),随时可以测试真实世界的场景和系统自动化。
系统运维工程师开发的自动化系统不仅用于生产环境,也用于开发环境。每次运行 vagrant up,开发者都会获得一个完成配置的(provisioned)开发环境,使用的正是那些用于配置生产环境的脚本。这样一来,开发者工作的环境就能尽可能地模拟生产环境。
如果出了问题,或者只是想从一个干净的状态重新开始,开发者和运维工程师可以运行 +vagrant destroy+,从机器上移除该开发环境的所有痕迹。然后再次运行 vagrant up,即可在转眼间重新创建一个完全相同且功能完备的开发环境。
一天工作结束时,Vagrant 可以挂起、停止或销毁开发环境,从而保持整个系统整洁。开发者再也不会因为忘记关闭遗留的服务器进程而浪费宝贵的计算资源。准备好后,运行 vagrant up,几分钟内即可恢复一个随时可用的开发环境。
这一切最棒的地方在于,这些知识可以迁移到每一个项目中。无论是在项目 A、项目 B 中工作,还是在公司 A 或公司 B 中工作,只要遵循“Vagrant之道”,工作流程就完全相同。结果是生产力大幅提升,“在我的机器上能运行”的问题也随之消失。
当然,使用 Vagrant 并不需要遵循“Vagrant之道”的每一条原则。Vagrant 是一种通用工具,可以根据需要融入你的环境。不过,了解并理解 Vagrant 背后的更大愿景仍然十分重要。
随机一篇博客