思特沃克学院小小读书会ThoughtWorks欧亚创新工作室

《持续交付》- 配置管理

2017-06-05  本文已影响19人  司鑫

一 什么是配置管理


配置管理是一个过程,通过该过程,所有与项目相关的产物,以及它们之间的关系都将会被唯一的定义、存储、检索和修改。

这也就意味着我们应该有一些良好的配置管理策略去对项目中的配置进行管理,这样做的好处也是显而易见的,比如:

二 使用版本控制


版本控制系统是保存文件多个版本的一种机制。也就是说当我们在修改某个文件之后,我们仍然可以访问该文件之前的任意一个修订的版本。

使用版本控制系统的目的:

为了达到这样的目的,我么可以采纳下列的几条建议

1 对所有的内容进行版本控制

是对所有的内容进行版本控制,而不仅仅只是对源代码进行控制,这也是自己对版本控制的一个误区,在对源代码进行版本控制外,还应该对所开发的软件相关的产物都应该被置于版本控制之下。这些产物可能包含着测试代码、数据库脚本、构建和部署脚本、文档、库文件和应用软件所用的配置等。

只有将上述的所有内容进行版本控制,我们才可以完全享受到从持续集成、自动化部署、自动化测试到一键部署的所有好处。当然了,不是所有的东西都得提交到版本库中,比如说源代码经过编译后的二进制文件。

2 频繁的提交代码到主干

在开发中我们只有频繁的提交代码,才可以享受版本控制所带来的众多好处。一旦将每次的修改提交到版本库,那就意味着团队的所有人都可以看到这些变更,这也会促进内建质量的提高,一旦需到将代码回滚,那么我们也可以回退到离当前版本最近的可用版本,将损失最小化。

3 使用意义明显的提交注释

这样做的好处就是当构建失败的时候,我们可以很轻易的知道是谁破坏了构建,以及他为什么破坏了构建。一个优秀的注释应该包括:

三 依赖管理


在软件开发中,最常见的外部依赖无非就是使用第三方的库文件,而这些库文件一般都是以二进制文件的存在,不会被团队的成员所修改,这也就意味着这些依赖一般不会频繁的更新,所以我们一般也不会将这些二进制文件放入到版本库中,我们最好将其放在统一的一个本地库中。

四 软件配置管理


1 配置与灵活性

在对软件进性配置时,我们一般应该总是先专注与提供具有高价值且可配置程度较低的功能,在真正需要时在添加可配置项。

2 配置的分类

我们一般在构建,部署,测试和发布过程中任何一个阶段引入配置,不建议在构建打包时引入配置,应该保证部署之前所有的包是一样的

3 应用程序的配置管理

4 管理配置信息的原则

五 环境管理


每一个应用程序都会依赖与硬件、软件、基础设施以及外部系统才能工作,而这些所依赖的东西就被称为是应用程序的环境。环境的配置和应用程序的配置应该是同等重要的。只有我们可以充分的给予了重视,我么才可能:

环境管理需要考虑的配置信息:

当我们在对环境配置进行管理时,我们应该建立一套自动创建的环境,这样可以使得自动创建环境比修复受损的环境要容易的多。

疑问
对软件配置的管理这个概念还不是很清楚。

上一篇下一篇

猜你喜欢

热点阅读