配置管理(Configuration Management)是为了确保软件开发过程中的产品的一致性、稳定性、可追溯性、回滚性等一系列目的而采取的技术上和管理上的手段的总称。

往往由于软件开发过程当中重心放在了“开发”本身,配置管理往往被当成了不重要的环节而被忽略了。

提起配置管理,很多人都会认为把文档和代码放在版本管理工具里就叫做配置管理了。

顶多是做做目录划分,权限设置,签入签出规则设定等。

做到上述这些只是做到了版本管理(Version Control),而不是配置管理。

除了上述这些之外,配置管理还要求能够保证灵活性、时效性等目的。

另外,做好配置管理的一个重要的作用是高效快速而稳定的发布系统。

在开始本章之前,请先看看这几个专业词汇,你了解多少

1. 每日创建(Daily Build)

2. 持续发布(Continuous Integration)

3. 持续交付(Continuous Delivery)

4. 蓝绿发布(Blue Green Deployment)

5. 金丝雀发布(Canary Deployment)

6. 分布式管理(Distributed Control)

7. 主干、分支和标签(Trunk, Branch and Tags)

好的,不要着急,我们将在今后的章节里逐个的讲解这些词汇的意思以及实际中的应用。

在开始阅读详细的章节之前,先考虑一下,你的组织或者团队里是否有这样一些角色和做法

1. 配置管理员(Configuration Specialist)

2. 软件配置控制委员会(Software Configuration Control Board)

3. 发布前审核(Audit Before Releasing)

4. 最终检验(Final Candidate)

5. 软件发布手册(Manual of Deployment)

如果你的组织配备了上述角色,或者采用了上述做法,那么你很有必要继续阅读本系列,以弄清楚这些角色和流程是如何降低组织效率、破坏工作成果的。