vagrant之道(即其工作流程)
原文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之道(即其工作流程)的更多相关文章
- Struts框架核心工作流程与原理
1.Struts2架构图 这是Struts2官方站点提供的Struts 2 的整体结构. 执行流程图 2.Struts2部分类介绍 这部分从Struts2参考文档中翻译就可以了. ActionM ...
- 学完微型服务器(Tomcat)对其工作流程的理解,自己着手写个简单的tomcat
学完微型服务器(Tomcat)对其工作流程的理解,自己着手写个简单的tomcat 2019-05-09 19:28:42 注:项目(MyEclipse)创建的时候选择:Web Service Pr ...
- MapReduce工作流程及Shuffle原理概述
引言: 虽然MapReduce计算框架简化了分布式程序设计,将所有的并行程序均需要关注的设计细节抽象成公共模块并交由系统实现,用户只需关注自己的应用程序的逻辑实现,提高了开发效率,但是开发如果对Map ...
- struts2工作流程
struts2的框架结构图 工作流程 1.客户端请求一个HttpServletRequest的请求,如在浏览器中输入http://localhost: 8080/bookcode/Reg.action ...
- SecondaryNameNode的工作流程
SecondaryNameNode是用来合并fsimage和edits文件来更新NameNode和metadata的. 其工作流程为: 1.secondary通知namenode切换edits文件 2 ...
- Storm 中什么是-acker,acker工作流程介绍
概述 我们知道storm一个很重要的特性是它能够保证你发出的每条消息都会被完整处理, 完整处理的意思是指: 一个tuple被完全处理的意思是: 这个tuple以及由这个tuple所导致的所有的tupl ...
- gitlab工作流程简介
gitlab工作流程简介 新建项目流程 创建/导入项目 可以选择导入github.bitbucket项目,也可以新建空白项目,还可以从SVN导入项目 建议选择private等级 初始化项目 1.本地克 ...
- Git 工作流程
Git 作为一个源码管理系统,不可避免涉及到多人协作. 协作必须有一个规范的工作流程,让大家有效地合作,使得项目井井有条地发展下去.”工作流程”在英语里,叫做”workflow”或者”flow”,原意 ...
- Spark基本工作流程及YARN cluster模式原理(读书笔记)
Spark基本工作流程及YARN cluster模式原理 转载请注明出处:http://www.cnblogs.com/BYRans/ Spark基本工作流程 相关术语解释 Spark应用程序相关的几 ...
随机推荐
- Unity3d之MonoBehavior自带方法的执行顺序
首先贴一张图(从其他地方摘录的,不记得出处,如果有小伙伴知道可以评论留言) 看了以后脑子有个大概的概念,可还是一知半解的感觉(接触Unity也有2年之久,却从来没想过弄清楚心中这团迷雾,总是囫囵吞枣用 ...
- WinForm窗体多线程操作实例
最近在学习C# 多线程相关知识,这块一直比较薄弱,在网上查了一下资料,学习了一下前辈们的经验,小弟自己也比葫芦画瓢的写了一个,自学一下. 代码如下 using System; using System ...
- Linux学习4-远程登录管理工具安装
1.配置虚拟机网络环境 桥接模式:使用真实网卡进行通信,配置简单,可以和通往内的其他真实机直接进行通讯,缺点是它会占用网段的一个IP地址. NAT模式:使用虚拟机模拟的虚拟网卡进行通讯,会使用VMne ...
- apply、call、bind有什么区别?
使用 apply var a = { name : "Cherry", func1: function () { console.log(this.name) }, func2: ...
- JavaScript-点击表格的表头进行排序
HTML如下: <table class="heroinfo"> <thead title="点击排序"> <tr> < ...
- Django基础四之模板系统
一 语法 模板渲染的官方文档 关于模板渲染你只需要记两种特殊符号(语法): {{ }}和 {% %} 变量相关的用{{}},逻辑相关的用{%%}. 二 变量 在Django的模板语言中按此语法使 ...
- Json反序列化为动态类型(dynamic)
方法(依赖于Newtonsoft.Json): /// <summary> /// 反序列化json字符串 /// </summary> /// <typeparam n ...
- JS实现填报时对修改过的单元格进行标识
1. 描述 在填报预览时,对单元格编辑后,其左上角有个红色标记,但非常不明显,用户很难注意到.有没有什么好的办法,对单元格操作后,将其做较明显的特殊标记处理,方便用户识别呢? 如图所示:对单元格进行操 ...
- redis 数据淘汰策略与配置
redis 数据淘汰策略 volatile-lru:从已设置过期的数据集中挑选最近最少使用的淘汰volatile-ttr:从已设置过期的数据集中挑选将要过期的数据淘汰volatile-random:从 ...
- redis 命令行查看修改配置文件项、配置文件说明
命令行查看修改配置文件项 config get | config set | config rewrite config get requirepass // 获取密码config set requi ...