原文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. VMWare安装Mac OS X

    原文作者 谷月K 2016.08.16 18:55 字数3473 随着iPhone.iPad.Mac等苹果产品越来越火爆,越来越多的初学者想要了解和尝试苹果平台,包括苹果操作系统Mac OS X.苹果 ...

  2. drupal7 带表达式条件的update

    原本的mysql语句是这样的: ; 转化成drupal的api是这样的 $total_amount=1; $rows= db_update('my_payment_card') ->expres ...

  3. 涉及到【分页】的table的请求模式

    step:1 点击分页器的内容 trigger事件句柄 (pagination, filters, sorter) => {//或者(page, pageSize)等 this.props.on ...

  4. 本地快速搭建 FTP 服务器

    一.什么是FTP FTP(File Transfer Protocol)是TCP/IP网络上两台计算机传送文件的协议,使得主机间可以共享文件. 二.搭建前期准备 1.首先打开控制面板找到“程序”点击打 ...

  5. Python爬虫学习记录【内附代码、详细步骤】

    引言: 昨天在网易云课堂自学了<Python网络爬虫实战>,视频链接 老师讲的很清晰,跟着实践一遍就能掌握爬虫基础了,强烈推荐! 另外,在网上看到一位学友整理的课程记录,非常详细,可以优先 ...

  6. How to download a CRX file from the Chrome web store

    如何从 谷歌浏览器商店 离线下载 谷歌浏览器扩展 Simply copying the Chrome store extension url to the following website: htt ...

  7. Java并发编程指南

    多线程是实现并发机制的一种有效手段.在 Java 中实现多线程有两种手段,一种是继承 Thread 类,另一种就是实现 Runnable/Callable 接口. java.util.concurre ...

  8. Android Studio插件之MVPHelper,一键生成MVP代码

    MVP盛行,听到的最多的抱怨就是咋要写这么多接口,那么本文作者提供了一个插件,自动生成这些接口的声明.感兴趣的还可以学习该插件的写法,按照自己平时的需求修改,提供开发效率. MVPHelper 一款I ...

  9. JQuery 元素操作 each循环

    参考:http://jquery.cuishifeng.cn/css.html 1.属性操作 --------------------------属性 $("").attr(); ...

  10. 【AOP】spring 的AOP编程报错:[Xlint:invalidAbsoluteTypeName]error

    AOP来发过程中,报错如下: warning no match for this type name: net.shopxx.wx.institution.controller [Xlint:inva ...