软件的配置管理
2020-03-24 09:58:06 0 举报
AI智能生成
软件配置管理
作者其他创作
大纲/内容
环境基础设施管理
环境准备的4种状态
1 人脑+手工
2 文档+私有脚本
3 办公自动化
4 受控式自动化脚本
环境部署工具
puppet
saltstack
chef
ansible
环境基础设施即代码
1 无论生产测试构建环境出问题,可以快速自动化构建一个新环境
2 只要获得授权所有人都可以做
3 任何对环境的修改都会被记录和审计
包依赖管理
显式声明依赖
自动管理依赖
maven/gradle
减少复杂依赖
依赖过多或者过长
依赖冲突
循环依赖
不可变基础设施管理
实现不可变基础设施
云原生应用
配置管理综述
配置管理的目标
获取两种基本能力:可追述性、可重现性
对于任何一次软件变更要准确回答:5W1H:who、when、what、why、how
配置管理的范畴
4大类范畴
环境
软件(部署)包
源代码
需求
配置管理的原则
衡量一个企业的软件配置管理水平:创建一套全新的软件运行环境(测试、预发布、生产)需要花费多长时间
软件配置的3个基本原则
一切皆有版本
应用程序包版本
依赖第三方软件服务
依赖中间件版本:包括数据库、缓存、队列
基础操作系统版本
共享唯一授信源
需求仓库
代码仓库
软件包仓库
配置仓库
标准化和自动化
标准化基线管理
自动化标记版本
软件包的版本管理
包管理的反模式:代码和依赖的二级制包一起管理
集中式包管理
Maven
npm
PyPI
Yum Proxy
软件包的元信息
自身唯一标志
来源信息
依赖关系
构建时依赖
测试时依赖
运行时依赖
软件配置项管理
二进制与配置项分离
配置信息的版本管理
环境配置项
应用配置项
业务配置项
配置项存储组织方式
配置项漂移治理
数据的版本管理
数据库结构变更
数据文件
0 条评论
下一页