论文部分内容阅读
不少研究数据表明DevOps的出现确实推动了项目工作流,提高了企业和团队的工作效率,但真正在实践中使用DevOps的团队仍然为数不多。导致其使用率不高的因素主要是企业和团队对于DevOps不够熟悉和了解,并且转型DevOps资源耗费较高,没有一个完整的实践平台来帮助实现DevOps流程等。其中本文重点针对如今持续集成过程中的问题进行了研究。首先,现在的持续集成过程灵活度较低,难以对动态变化的开发上下文实时做出针对性的调整;其次,软件规模增长后,持续集成的成本就愈发高昂,还会造成项目进度的延迟;最后,集成的频率力度难以把控,构建频率过低会导致代码质量的降低,过高又会造成集成的资源开销增加。面对这些困境,本文基于现在的流水线理念,参与设计了DevOps流水线实践平台,可以实现持续开发、持续集成、自动化测试、容器镜像管理等流水线软件产品交付过程。其中重点在持续集成模块提出了一种支持过程自调节的持续集成框架,并基于该框架,实现了自动化集成工具,在DevOps实践平台的持续集成模块使用。该框架基于神经网络模型,利用了前馈神经网络自学习和自调整的优势,能够在集成过程中不断根据已有的集成历史信息和构建数据对集成过程进行自动调整和决策优化,为开发者预测和计划最佳的下一次构建,从而帮助开发者合理平衡开发与集成。为了验证模型的稳定性和适用场景的普遍性,本文选取了GitLab上星级靠前且采用了持续集成和持续交付过程的十一个项目进行案例研究。研究结果表明,在没有足够的构建频率下使用该模型进行预测指导,可以达到70%左右的准确率;而如果项目构建频率能够达到10%以上,该模型可以达到80%-90%的预测精度。并且模型对每个项目的预测代价值整体呈下降趋势,这是前馈神经网络的优化效果。各个项目代价值减小了0.05至0.27不等,最终可以稳定在0.3-0.6左右。因此,项目团队可以在应用规模较小时尽可能提高构建频率,在应用规模扩大到过于频繁的构建会影响到项目进度时,采用该模型进行集成过程指导,避免不必要的集成,达到质量和效率的二者兼得。