摘要:
持续集成(Continuous Integration,简称CI)是目前广泛使用的软件开发实践方法,然而很多项目对于如何实施持续集成缺乏认识,因此并不能很好地发挥持续集成的作用,且相关研究比较缺乏.本文选择GitHub上长期使用Travis CI的12个流行并且活跃的项目,通过挖掘代码提交历史以及持续集成构建历史,对其持续集成实践进行度量,旨在了解持续集成如何能给项目开发带来改进,以及在实践中可能存在的问题,并分析改进方法.本文对实践中持续集成被广泛认可的三个优势,包括辅助代码审查,缩短发布周期,降低测试代价,建立量度进行度量,发现持续集成使得大部分项目在这些方面都有显著改进.通过分析项目的构建结果和构建耗时,本文发现实践中存在下述四个可能影响持续集成效果的趋势,即构建数量不断增加,构建耗时不断上升,通过构建比例偏低,失败构建仍被接受,并讨论这些问题的原因以及影响.最后,针对实践中持续集成可能存在的问题,本文以Rails项目为例分析持续集成实践的三个改进方法,包括避免不必要的构建,调整构建任务的顺序,引入可选通过的构建任务,定位相关实例进行了阐释,并验证了这些方法的有效性.项目能够利用本文关于实践中持续集成优势和问题的度量方法衡量当前持续集成实践,另外,本文关于实践中持续集成的问题以及改进方法的度量结果能够帮助项目优化持续集成实践.