原文http://mitchellh.com/the-tao-of-vagrant

The Tao of Vagrant

在安装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之道,工作流程是完全一样的。结果,生产力提高了,“在我的机器上工作”的bug消失了。

当然,没有必要遵循vagrant之道的每一个原则去使用vagrant。vagrant是一个通用的工具,可以塑造成你认为合适的环境。但重要的是要看到并理解vagrant背后更大的愿景。

vagrant之道(即其工作流程)的更多相关文章

  1. Struts框架核心工作流程与原理

    1.Struts2架构图  这是Struts2官方站点提供的Struts 2 的整体结构.  执行流程图 2.Struts2部分类介绍  这部分从Struts2参考文档中翻译就可以了. ActionM ...

  2. 学完微型服务器(Tomcat)对其工作流程的理解,自己着手写个简单的tomcat

    学完微型服务器(Tomcat)对其工作流程的理解,自己着手写个简单的tomcat 2019-05-09   19:28:42 注:项目(MyEclipse)创建的时候选择:Web Service Pr ...

  3. MapReduce工作流程及Shuffle原理概述

    引言: 虽然MapReduce计算框架简化了分布式程序设计,将所有的并行程序均需要关注的设计细节抽象成公共模块并交由系统实现,用户只需关注自己的应用程序的逻辑实现,提高了开发效率,但是开发如果对Map ...

  4. struts2工作流程

    struts2的框架结构图 工作流程 1.客户端请求一个HttpServletRequest的请求,如在浏览器中输入http://localhost: 8080/bookcode/Reg.action ...

  5. SecondaryNameNode的工作流程

    SecondaryNameNode是用来合并fsimage和edits文件来更新NameNode和metadata的. 其工作流程为: 1.secondary通知namenode切换edits文件 2 ...

  6. Storm 中什么是-acker,acker工作流程介绍

    概述 我们知道storm一个很重要的特性是它能够保证你发出的每条消息都会被完整处理, 完整处理的意思是指: 一个tuple被完全处理的意思是: 这个tuple以及由这个tuple所导致的所有的tupl ...

  7. gitlab工作流程简介

    gitlab工作流程简介 新建项目流程 创建/导入项目 可以选择导入github.bitbucket项目,也可以新建空白项目,还可以从SVN导入项目 建议选择private等级 初始化项目 1.本地克 ...

  8. Git 工作流程

    Git 作为一个源码管理系统,不可避免涉及到多人协作. 协作必须有一个规范的工作流程,让大家有效地合作,使得项目井井有条地发展下去.”工作流程”在英语里,叫做”workflow”或者”flow”,原意 ...

  9. Spark基本工作流程及YARN cluster模式原理(读书笔记)

    Spark基本工作流程及YARN cluster模式原理 转载请注明出处:http://www.cnblogs.com/BYRans/ Spark基本工作流程 相关术语解释 Spark应用程序相关的几 ...

随机推荐

  1. git 回退远端提交的三种方法

    git push -f origin XXX(远程分支名) 重新提交一个新的提交.(优先使用这个方式) revert 手动revert 删掉远程分支,再推一个本地分支上去.

  2. substr与substring的区别

    在js中字符截取函数有常用的三个slice().substring().substr()了,下面我来给大家介绍slice().substring().substr()函数在字符截取时的一些用法与区别吧 ...

  3. FineReport软件

    # FineReport常见问题与解答 ### FineReport是什么?FineReport,企业级web报表工具,中国报表软件知名品牌.借助于FineReport的无码理念,用户可以轻松的构建出 ...

  4. mac os idea的快捷键

    全局搜索:shift+command+f 搜索类:command+o 光标向前向后移动:command+option+(左/右) 删除一行: command+delete

  5. Android屏幕适配工具

    这里需要用到一个jar包,下载拿到这个jar包后直接双击就可以生成市场大部分主流屏幕尺寸了.然后只要把生成好的xml尺寸文件拷贝到相应的value文件中即可.很方便,以后再也不用担心适配繁琐的问题了. ...

  6. 如何使用 adb 命令实现自动化测试

    如何使用 adb 命令实现自动化测试 一.前提: 1.打开手机调试模式,确保手机已正常连接电脑,可在电脑上通过adb devices命令查看,结果如下说明连接成功: List of devices a ...

  7. 深入理解net core中的依赖注入、Singleton、Scoped、Transient(四)

    相关文章: 深入理解net core中的依赖注入.Singleton.Scoped.Transient(一) 深入理解net core中的依赖注入.Singleton.Scoped.Transient ...

  8. Java设计模式----观察者模式详解

    [声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/3 ...

  9. Leetcode题解之Container With Most Water

    1.题目描述 2.题目分析 首先,这个题可以使用暴力解法,时间复杂度是O(n^2),这个显然是最容易的做法,但是效率不够高,题目提供了一种解法,使用两个指针,一个从头向尾部,另外一个从尾部向头部,每一 ...

  10. 6.servlet和jsp的区别

    servlet和jsp的区别 jsp作为Servlet技术的扩展,经常会有人将jsp和Servlet搞混.本文,将为大家带来servlet和jsp的区别,希望对大家有所帮助. servlet和jsp的 ...