出处:http://mitchellh.com/the-tao-of-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之后的大版本差异。