**
前言
**
配置管理(CM,Configuration Management)在任何开发工作中都起着非常关键的作用。我从事配置管理的实施和支持工作已经超过25年,本书中将讨论的大部分内容都直接来自于个人的经验。我实施并支持过各种配置管理的实践方法并达到这样一种状态——如果建立的过程或自动化没有按照预期般运作的话,我经常会在半夜里被惊醒。作为一名教师,我向超过九百多的专业技术人员传授过工业级的配置管理工具(同样,他们在成功地完成课程后都得到了我家的电话号码,这样如果我没有教授好知识和技能,即使半夜被他们的电话叫醒,也毫无怨言)。同事和学生们总是说我对这门学科充满着激情和热爱。
与其他许多学科一样,配置管理中有很多令人混淆的术语。在这本书里我解决不了这个问题,但至少我会努力不使情况变得更糟。首字母缩写SCM曾被用来代表源代码管理 (Source Code Management) 和最近的软件配置管理 (Software Configuration Management) 。一个博学的同事提醒我不要使情况变得更糟,所以当使用缩写SCM时,我仅指更广泛的软件配置管理,这是配置管理的一个专业领域(和第8章“硬件配置管理”中讨论的硬件配置管理相反)。同样,缩写CI代表的可以是配置项(Configuration Item)或者是持续集成(Continuous Integration)。 配置管理术语可能会相当令人混淆。我不能改变这种双重用途的首字母缩写词造成的混乱,因为它很普遍,但会尽可能地做到清楚明晰。配置控制和发布管理等术语也存在类似的问题,我将尽我所能地对这些术语提出明确的解释。而更重要的是解释如何在现实世界中实施这些方法。其次我希望能在网上和大家一起讨论如何使用这些术语以及它们的演变。
专业技术人员,包括开发经理、系统架构师、开发人员、系统工程师、硬件工程师、质量保证、质量工程、运营工程师、技术人员和项目经理都将受益于本书中的信息。首席技术官、IT审计师和公司经理们会特别喜欢建立IT控制及规范的部分。无论是敏捷爱好者还是采用经典的瀑布式生命周期,本书都将帮助你把工作做得更好。配置管理完全是关于如何成为一个好的企业员工的。企业有责任为公众利益提供和维护技术报告,而新闻媒体则是喜欢报道其中一些企业的贪婪和无能。配置管理最佳实践帮助确保全球经济运行平稳,自动取款机工作正常,空中交通管制系统保持在线状态等。如果你希望自己的技术开发工作更加高效并产生更高质量的产品,这本书就是给你的。
目录
**[第I部分 配置管理核心实践第1章 源代码管理1.1 为什么源代码管理如此重要](https://yq.aliyun.com/articles/93480)**1.2 从哪里开始1.3 源代码管理核心概念1.3.1 建立基线和时间机器1.3.2 保留与非保留签出1.3.3 沙箱和工作空间1.3.4 变体管理(分支)1.3.5 复制分支与增量分支1.3.6 如何处理缺陷修复1.3.7 流1.3.8 合并1.3.9 变更集1.4 权限和需求跟踪1.5 管理全球分布式开发团队1.6 工具的选择1.6.1 开源软件与商业软件1.6.2 产品成熟度和供应商承诺1.6.3 可扩展性和开放的API1.6.4 不要过度工程化源代码管理1.7 认识质量成本和总拥有成本1.8 培训1.9 建立使用模型1.10 实施时间和风险1.11 建立支持过程1.12 高级特性和授权高级用户1.13 结论**[第2章 构建工程2.1 为什么构建工程如此重要](https://yq.aliyun.com/articles/93562)**2.2 从哪里开始2.3 构建工程的核心概念2.3.1 版本ID和标记可执行文件2.3.2 不可变的版本ID2.3.3 打上版本标记或者标签2.3.4 管理编译依赖2.3.5 独立构建2.4 建立构建职能的注意事项2.4.1 推广独立构建2.4.2 过度工程化构建2.4.3 保持正直和诚实2.4.4 隶属研发部门引起的利益冲突2.4.5 组织结构的选择2.5 构建工具评估和选择2.5.1 Apache Ant 进入构建舞台2.5.2 Maven2.5.3 Maven 与 Ant2.5.4 使用 Ant 生成复杂构建2.5.5 持续集成2.5.6 持续集成系统2.5.7 集成开发环境2.5.8 静态代码分析2.5.9 构建框架2.5.10 构建工具的选择2.5.11 对比优缺点达成一致2.6 质量和培训成本2.7 把构建做得更好2.7.1 鲍勃的构建秘方2.7.2 测试驱动的构建2.7.3 信任,但仍要核查2.7.4 飞机的驾驶舱2.8 构建工程师的角色2.8.1 了解构建的项目2.8.2 与开发人员合作2.8.3 招募新人2.9 架构是构建的基础2.10 建立构建过程2.11 持续集成与每日构建2.12 构建工程的前景2.13 结论
相关资源:软件配置管理资料(pdf)