Vagrant 之道
原文由 Mitchell Hashimoto 于 发布,订阅该博客
在安装 Vagrant 或了解其工作原理之前,首先需要从宏观上理解 Vagrant 在实际工作环境中的整体工作流程。这些原则被统称为“Vagrant 之道”。以下内容摘自Vagrant: Up and Running。
在拥有 Vagrant 的世界里,开发者可以从版本控制中检出任意仓库,运行 vagrant up,无需任何人工干预就能获得一个完整可运行的开发环境。开发者依然在自己的机器上,使用自己熟悉的编辑器、浏览器和其他工具进行工作。对开发者而言,Vagrant 的存在是透明的,甚至无需在意。Vagrant 就像一头任劳任怨的老黄牛,负责创建一致、稳定的开发环境。
系统运维工程师同样在自己的机器上,用自己熟悉的编辑器和工具编写系统自动化脚本。当他们准备测试这些脚本时,只需运行 vagrant up,就能获得一个与生产环境完全一致的完整沙盒,随时测试真实场景和系统自动化。
运维工程师开发的自动化不仅用于生产环境,也同样应用于开发环境。每一次 vagrant up,开发者获得的都是用与搭建生产环境相同的脚本完整配置好的开发环境。这样一来,开发者就能在尽可能贴近生产环境的环境中工作。
如果出了问题,或者只是想从零开始,开发者和运维工程师可以运行 vagrant destroy,这会将该开发环境的所有痕迹从机器上彻底清除。之后再执行一次 vagrant up,就能瞬间重建一个完全相同、功能完备的开发环境。
一天工作结束时,Vagrant 可以挂起、停止或销毁开发环境,保持整个系统的整洁。开发者再也不用担心忘记关闭某个遗留的服务器进程而白白浪费宝贵的计算资源。需要时,vagrant up 只需几分钟就能恢复一个即开即用的开发环境。
这一切最妙的地方在于,这些经验可以复用到每一个项目。无论是做项目 A 还是项目 B,甚至是在 A 公司还是 B 公司,只要遵循 Vagrant 之道,工作流程就完全一样。于是,生产力大幅提升,而“在我机器上能跑”这类缺陷也随之消失。
当然,使用 Vagrant 并不一定要恪守 Vagrant 之道的每一条原则。Vagrant 是一个通用工具,可以根据需要灵活地融入你的环境。但了解并理解 Vagrant 背后更宏大的愿景依然十分重要。
随机一篇博客
评论
登录后参与讨论