COMPASS项目CI实践
这篇文章大体上是从COMPASS整个项目组的角度介绍CI实践的一些经验和成果,但有些部分偏重于从QA的视角看CI给我们的工作带来的变化。 一、为什么引入CI 客户需求的随时而变要求我们更快做出响应,开发完成并部署上线新的功能模块。这样的快速上线需要一种机制来保证每次所发布版本的可用性和质量。CI就是这样一种能为提交的每次代码修改提供可用性和质量保证的机制。 二、CI是什么 我理解CI的核心涉及两方面:项目数据共享和构建自动化。 所有人共享一个有版本控制的代码库,或者更准确地说是资料库,因为这里面既包括直接提供客户价值的业务代码,也包括用来验证业务代码是否符合预期设计目标的测试代码,除此之外,同时还包括项目文档、数据库变更脚本、部署脚本等,总之,目标就是将所有与项目相关的东西都纳入版本控制系统中,并且使之为项目组内所有的人共享。 因为CI涉及频繁的构建,我们需要通将构建过程自动化来减少构建带来的成本。通过一系列经过测试的构建脚本,实现每次代码提交都触发一次自动的构建,或者我们也可以选择在适当的时机手动触发一次构建。总之,要提供一套能够方便地实施构建、发布的基础设施,可以是一键触发的,甚至...