DevOps - 构建本地开发环境
1 - 构建个人本地开发环境
在个人计算机中搭建一个精简版的、与生产环境基本一致的本地开发环境,既不会占用团队公共环境的资源,也可以缩短等待时间,从整体上提高效率。
本地开发环境的适用场景:
- 从应用程序开发的初期到单元测试阶段
- 原型开发
- 对风险或影响较大的变更进行前期调查
- 确认需要完全独占环境的工作内容
2 - 涉及的部分工具
2.1 虚拟机工具VirtualBox
利用VirtualBox能够以虚拟机方式构建个人本地环境,专属于个人,可以自由地进行开发。
在安装完虚拟机操作系统后,还需要进行各种配置操作。
2.2 虚拟环境构建工具Vagrant
Vagrant是一个虚拟环境构建工具,可以使基础设施代码化(虚拟机创建、配置和应用等),简化个人开发环境的构建操作。
Vagrant通过Vagrantfile记录虚拟机环境相关的构建步骤和配置信息,通过共享Vagrantfile可以容易地共享和创建统一的环境,也利于理解和维护。
可以很好解决只使用VirtualBox时遇到的一些问题。
- 配置完整的环境要花费一定的时间和精力
- 虚拟机镜像文件庞大,共享困难
- 对共享出来的镜像文件,难以掌握其构建步骤和配置信息
- 需要实施相应的镜像维护工作,来保持构建步骤、配置信息和镜像本身的一致性
2.3 基础设置配置管理工具Ansible
利用Ansible这个基础设置配置管理工具,可以消除构建步骤对个人的依赖,支持在不同的环境中使用相同的步骤。
可以进一步解决使用VirtualBox和Vagrant管理和使用本地开发环境过程中出现的问题。
- 不容易理解:不同人不同的编写方式和需求导致千奇百怪的Vagrantfile
- 不能添加新配置:Vagrantfile记录的是从零开始构建虚拟机的步骤,难以对已创建的众多虚拟机更改配置
- 构建步骤难以在其他环境中复用:Vagrantfile的内容依赖具体的本地开发环境,无法实现跨环境(公共开发环境、生产环境)的代码化
2.4 基础设施的配置测试工具Serverspec
可以对基础设施的配置进行测试的工具,可以实现基础设施测试代码化,提高构建和配置测试的效率。
- 测试代码即测试设计文档
- 测试代码可以复用
- 可以通过代码对测试用例进行评审
- 使用格式编写测试用例和输出测试报告
2.5 本地管理工具Git
开源的分布式版本控制系统,用于敏捷高效地管理代码版本。
DevOps - 构建本地开发环境的更多相关文章
- Vagrant 构建 Linux 开发环境
Vagrant 是一个简单易用的部署工具,用英文说应该是 Orchestration Tool .它能帮助开发人员迅速的构建一个开发环境,帮助测试人员构建测试环境, Vagrant 基于 Ruby 开 ...
- 使用 Laragon 在 Windows 中快速搭建 Laravel 本地开发环境 (转)
laravel学院 简介 对于那些使用 Windows 操作系统的同学来说,Homestead 和 LaraDock 虽说支持 Windows 系统,但是对初学者来说,安装配置起来还是有一定复杂度的, ...
- XamarinForms教程构建XamarinForms开发环境
构建XamarinForms开发环境 所谓Xamarin.Forms的开发环境,就是指在基本硬件和数字软件的基础上,为支持系统软件和应用软件的工程化开发和维护而使用的一组软件,简称SDE.对于任何的程 ...
- Python学习1:使用Aptana构建Python开发环境
使用Aptana构建Python开发环境 下载Aptana: http://www.aptana.com/products/studio3/download http://www.newasp.net ...
- Eclipse中构建scala开发环境的步骤
Eclipse是一款非常使用的开发工具,熟悉它的童鞋应该都知道,它不仅是最常用的android开发工具,还是最常用的Java开发工具.既然eclipse如此重要,本文小编就和大家一起来扒一扒在ecli ...
- vue第七单元(vue的单文件组件形式-单文件组件的加载原理-vue-cli构建的开发环境以及生命周期)
第七单元(vue的单文件组件形式-单文件组件的加载原理-vue-cli构建的开发环境以及生命周期) #课程目标 掌握安装 vue-cli 命令行工具的方法,掌握使用命令行在本地搭建开发环境,使用命令行 ...
- 从源代码构建 Go 开发环境
从源代码构建 Go 开发环境 Go 1.5 之前的版本 安装C 语言开发环境 在Go 1.5 之前的版本(比如 1.3.1.4),都会部分的依赖 C 语言的工具链,所以如果你有C 语言的开发环境,就可 ...
- Python黑帽编程1.2 基于VS Code构建Python开发环境
Python黑帽编程1.2 基于VS Code构建Python开发环境 0.1 本系列教程说明 本系列教程,采用的大纲母本为<Understanding Network Hacks Atta ...
- 【OpenStack】OpenStack系列1之OpenStack本地开发环境搭建&&向社区贡献代码
加入OpenStack社区 https://launchpad.net/,注册用户(597092663@qq.com/Admin@123) 修改个人信息,配置SSH keys.OpenPGP keys ...
随机推荐
- Mac环境下使用Appium Inspector进行元素定位
一.摘要 本篇博文介绍在Mac系统上使用AppiumI Inspector进行App页面元素定位 二.Finding elements by xpath WebElement digit_9 = dr ...
- bug-- java.lang.RuntimeException: Type “Klass*"
使用jinfo查看jvm进程id为27523的信息 [java@xftest0 ~]$ jinfo 27523 Attaching to process ID 27523, please wa ...
- LINUX查看内存使用情况 free
# free 显示结果如下: Mem:表示物理内存统计 total 内存总数 8057964KB used 已使用的内存 7852484KB free 空闲的内存数 205480KB shared 当 ...
- TBDR下msaa 在metal vulkan和ogles的解决方案
https://developer.arm.com/solutions/graphics/developer-guides/understanding-render-passes/multi-samp ...
- struts2 404错误
action类必须放在xxxx.xxx.xxx.xxx.action 包下才可以.
- 【CUDA 基础】6.5 流回调
title: [CUDA 基础]6.5 流回调 categories: - CUDA - Freshman tags: - 流回调 toc: true date: 2018-06-20 21:56:1 ...
- LG2216 理想的正方形
题意 有一个\(a \times b\)的整数组成的矩阵,现请你从中找出一个\(n \times n\)的正方形区域,使得该区域所有数中的最大值和最小值的差最小 思路 对于每一列,都用两个单调队列维护 ...
- H5性能优化报告以及方案模板
H5性能优化方案: 链接:https://pan.baidu.com/s/1LCT83dJMmkvXabne3aWnzw 提取码:dc5z H5性能优化报告: 链接:https://pan.baidu ...
- Install chocolatey
Requirements Windows 7+ / Windows Server 2003+ PowerShell v2+ .NET Framework 4+ (the installation wi ...
- mybatis 批量将list数据插入到数据库
随着业务需要,有时我们需要将数据批量添加到数据库,mybatis提供了将list集合循环添加到数据库的方法.具体实现代码如下: 1.mapper层中创建 insertForeach(List < ...