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

开源的分布式版本控制系统,用于敏捷高效地管理代码版本。

原文地址:https://www.cnblogs.com/anliven/p/6376192.html