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应用程序相关的几 ...
随机推荐
- oracle数据库定时任务
应用系统运行中,经常需要定时执行一些任务,例如:定时更新汇总数据,定时更新状态数据等,目前 Treesoft数据库管理系统 增加[定时任务]功能,直接通过页面简单配置,即可按调度规则定时执行SQL任务 ...
- .NET异常处理的动作策略(Action Policy)
SQL Server 2008基于策略的管理,基于策略的管理(Policy Based Management),使DBA们可以制定管理策略,并将这些策略应用到服务器.数据库以及数据环境中的其他对象上去 ...
- WPF流程图制作系列相关基础一
WPF流程图制作相关基础一 需求是要通过wpf开发流程图,这个流程图是用户自行拖动配置. 使用过流程图的话,应该大体能想象出流程图拖动配置的样子.这里主要会涉及到的技术知识点就是 wpf拖动相 ...
- ASP.NET Core 2 学习笔记(十二)REST-Like API
Restful几乎已算是API设计的标准,通过HTTP Method区分新增(Create).查询(Read).修改(Update)和删除(Delete),简称CRUD四种数据存取方式,简约又直接的风 ...
- PHP生成缩略图(2)--等比缩略图
分析: 当原图是横屏或竖屏的时候,希望缩略图会保持原来的比例缩放,不改变原图的完整性,即等比缩放! 此时只需确定原图的宽高,以及目标图的最大宽高,比较目标图的宽高比例与原图的宽高比例的大小,以此来判断 ...
- 如何使用Nginx和uWSGI或Gunicorn在Ubuntu上部署Flask Web应用
你好!欢迎阅读我的博文,你可以跳转到我的个人博客网站,会有更好的排版效果和功能. 此外,本篇博文为本人Pushy原创,如需转载请注明出处:https://pushy.site/posts/151981 ...
- 使用Callable和Future接口创建线程
具体是创建Callable接口的实现类,并实现clall()方法.并使用FutureTask类来包装Callable实现类的对象,且以此FutureTask对象作为Thread对象的target来创建 ...
- @autowired 和@resource的区别
1. @Autowired与@Resource都可以用来装配bean. 都可以写在字段上,或写在setter方法上. 2. @Autowired默认按类型装配(这个注解是属业spring的),默认情 ...
- PMF:为何硅谷大神把它念奉为创业公司“唯一重要的东西”
产品-市场匹配(Product-market fit,PMF)虽然是精益创业中最重要的概念之一,但也是最不明确的一个概念.2007年,马克?安德森在他的博客里创造了这个概念,并定义为:“在一个好的市场 ...
- git添加公钥后报错sign_and_send_pubkey: signing failed: agent refused operation
在服务器添加完公钥后报错 sign_and_send_pubkey: signing failed: agent refused operation 解决方案: eval "$(ssh-ag ...