利用CI减少风险:
常见的风险包括:没有可部署的软件,很晚才发现缺陷,缺少项目可见性,低品质的软件
第三章主要讲一些案例,与风险相关,基本还好,都是不使用CI很常见的情形。
一个思想:将IDE与构建脚本隔离。IDE可以依赖构建脚本,但构建脚本 不能依赖IDE。
创建一个独立的构建脚本很重要,原因:
1 每个开发者可能使用不同的IDE,找出每个IDE中配置文件的差别会非常困难
2 CI服务器必须在五仁干涉的情况下执行自动化构建,因此开发者执行的自动化构建脚本同样也应该能由CI服务器执行
构建的类型和驱动方式:
收集构建测量数据:
测量指标 | 描述 | 备注 |
编译时间 | 编译软件所花的时间以及它与过去的编译时间的比较 | |
源代码行数SLOC | 这编码了系统的规格或者至少表明那些东西需要编译 | |
审查的种类数 | 你所执行的不同类型的审查数,请考虑消除冗余 | |
平均组装生成时间 | 生成打包,文档或者其他软件打包方式的时间 | |
测试执行时间 | 各级测试,如单元测试,组件测试,系统测试等 | |
成功构建和失败构建的比例 | ||
审查时间 | 执行所有自动化审查的时间 | |
部署时间 | 在集成构建中,将软件部署到目标环境所花的时间 | |
重建数据库的时间 | ||
集成构建计算机系统资源和使用情况 版本控制系统的负载 | 有助于确定版本控制系统的峰值负载,从集成构建计算机上需要多少时间迁出,更新网络带宽等 |
对构建改进的优先级: