原文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. Docker for Windows(二)登录与配置镜像加速器

    一.启动Docker for Windows 通过桌面Docker Desktop启动,右下角出现的白色鲸鱼图标保持稳定时,表示Docker正在正常运行,将鼠标移到图标上会显示"Docker ...

  2. [转]XSS的原理分析与解剖:第四章(编码与绕过)

    0×01前言 很抱歉,这第四章被我推了几个月,今天是元旦难得有空,就把第四章写下.我先把主要使用的编码说下,介绍完会说下绕过. 本文建议与<杂谈如何绕过WAF>一同阅读. 0×02 URL ...

  3. Android smartimageview网络图片查看器

    调用代码: SmartImageView siv = (SmartImageView) findViewById(R.id.siv);siv.setImageUrl(et_path.getText() ...

  4. 612.1.002 ALGS4 | Analysis of Algorithms

    我们生活在大数的时代 培养数量级的敏感! Tip:见招拆招 作为工程师,你先要能实现出来. 充实基础,没有什么不好意思 哪怕不完美.但是有时候完成比完美更重要. 之后再去想优化 P.S.作者Rober ...

  5. APP之红点提醒三个阶段

    下面这个页面就是我们进入APP后的主界面.客户选项的红点上数字就是显示我们没有查看的客户总数量.   当我们切换到客户这个fragment时,会显示贷款客户数量与保险客户数量.   当我们随便点击入一 ...

  6. hidden field implements session

    隐藏域实现会话管理概述 如果你正在制作一个网络问卷,由于问卷内容很长,因此必须分几个页面,上一页面作答完后,必须请求服务器显示下一个页面. 但是在HTTP协议中,服务器并不会记得上一次请求的状态.既然 ...

  7. Pig store用法举例

    store:将数据存储到HDFS等文件系统里   将数据保存到/data目录 store data into '/data'; 以逗号为分隔符 store data into '/data' usin ...

  8. Mybatis显示SQL语句

    众所周知,hibernate可以通过配置show_sql在控制台显示sql语句,Mybatis可不可以呢?当然是可以的,将ibatis log4j运行级别调到DEBUG可以在控制台打印出ibatis运 ...

  9. zTree设置异步加载后展开

    //不能直接配置展开属性 因为没有数据,需要添加回调函数,异步加载成功展开 callback: { onAsyncSuccess: zTreeOnAsyncSuccess } //异步加载成功回调函数 ...

  10. [翻译] INSSearchBar

    INSSearchBar 效果: An animating search bar. 一个带动画效果的search bar. Originally developed for ShopNow v2. ( ...