《持续交付》第二章—配置管理
在本章中介绍了项目管理中的配置管理策略,以及配置管理的具体要求及使用其带来的好处。
定义
配置管理是一个过程,通过该过程,所有与项目相关的产物,以及它们之间的关系都被唯一的定义、修改、存储和检索。
使用版本控制
版本控制系统,即保存文件多个版本的一种机制。使用其目的有两个:
1、保留每个文件的所有版本的历史信息,并使之易于查找。
2、时分布团队愉快地协作。
第一,其要求我们将源代码、配置信息、测试代码、数据库脚本、构建和部署脚本等纳入到版本控制之中,以方便部署。但文章中不推荐将编译后的二进制文件纳入版本控制中,没有很大作用并还会带来空间的占用。第二,要求频繁的将代码提交到主干,这类似于git操作,然而仍有不同,使用版本控制要求提交到主干而非分支,因为提交到分支会为之后的合并过程带来问题。第三,使用意义明显的提交注释,这也是我们一直要求的,提高团队工作效率。
依赖管理
在软件项目中,最常见的外部依赖就是其使用的第三方库文件,以及该软件需要用到的正由其他团队开发的模块或组件间的关系。把外部依赖库文件放在版本控制库中,确实有利有弊,仍需根据情况选择。
软件配置管理
系统配置应与代码一样,受到正确的管理和测试。软件配置与灵活性有很大关系,要不断验证配置的正确性,如常使用的冒烟测试。而配置信息如何获取、如何存取以及如何管理,第一,让所有的应用程序通过一个中央服务系统得到它们所需要的配置信息,并进行配置设置的测试,保证应用程序正常运行。第二,配置信息也应纳入到版本控制库中。第三,严格管理配置信息,包括注入配置信息的时间、配置信息模块化等。
环境管理
每个应用程序都依赖于硬件、软件、基础设施以及外部系统才能正常工作。环境管理的关键在于通过一个全自动过程来创建环境,使其变得灵活。
总结
通过本章了解到了配置信息的具体内容及其重要性,因为自己经验太少,很多地方理解都不够透彻,但通过这些内容仍了解到很多在软件开发中的问题以及文章出发的解决办法,在今后实践中慢慢领悟。