透明思考


Transparent Thoughts


持续集成铁的纪律是怎样炼成的

持续集成问题说到底是人的问题

有一种常见的观点认为:持续集成是一系列技术问题;只要安装配置了适当的持续集成工具,解决了某些构建、测试自动化的技术问题,持续集成建设就能顺利开展。但实际上,持续集成建设中很少出现高难度的、超出团队本身能力范围的技术问题,涉及的工具也大多通用。持续集成建设中遭遇的一些典型难题,归根结底都不是技术问题,而是人的问题:

  • 构建失败率高:背后的原因是开发人员质量意识不足,习惯把质量保证的责任全部丢给测试人员
  • 构建修复难:背后的原因是开发人员在本地开发机无法重复构建过程,难以定位问题
  • 在失败构建上继续提交代码:背后的原因是构建结果不够公开、受重视不足

持续集成建设就是提升团队质量能力的过程

建设一个运转良好的持续集成体系的过程,就是在培养每个团队成员重视质量的意识,就是在帮助团队发现交付“最后一英里”潜藏的问题、并督促团队解决这些问题。为了保持项目的健康,需要整个团队的努力:

  • 加强对质量的关注,代码经过必要的自检再提交
  • 制定简明严格的提交纪律,构建失败及时修复
  • 用构建监视器显示持续集成状态,使项目健康情况公开可视
  • 为开发人员提供本地构建能力,以方便自检和问题定位

(本文作者熊节是ThoughtWorks的总监咨询师)