【技术实现步骤摘要】
一种持续集成任务的优化方法及装置
本申请涉及软件开发
,尤其涉及一种持续集成任务的优化方法及装置。
技术介绍
在软件开发的过程中,为了尽早的发现软件集成的错误,通常需要将多个开发成员的工作进行集成,每个成员每天至少集成一次,也就是说每天可能发生多次集成,每次集成都是通过自动化的构建来验证,例如编译、发布以及自动测试,进而发现集成错误,因此,持续集成是软件开发的一种重要的软件开发实践。通过将软件开发过程中每个持续集成任务串联起来构成软件持续交付的流水线,而每个持续集成任务的效率极大的影响软件交付的周期,目前,检测软件开发过程中持续集成任务的效率,一般是通过检测多个持续集成任务的总耗时,而对于每个持续集成任务的效率并没有单独进行检测,无法识别出软件开发过程中低效的持续集成任务,因此,无法对低效的持续集成任务进行优化,导致软件持续交付的效率较低。
技术实现思路
本申请提供一种持续集成任务的优化方法及装置,用以解决现有技术中软件持续交付的效率较低的技术问题。第一方面,本申请提供一种持续集成任 ...
【技术保护点】
1.一种持续集成任务的优化方法,其特征在于,包括:/n在软件开发过程中,获取软件版本库中的源代码,并确定所述源代码中所包括的至少一个代码模块持续集成任务的实际耗时;/n基于所述至少一个代码模块的代码量和所述实际耗时确定所述至少一个代码模块持续集成任务的理论耗时;/n判断所述至少一个代码模块中是否存在代码模块持续集成任务的所述实际耗时与所述理论耗时之差大于预设阈值;/n若存在,则基于任务优化策略对所述代码模块持续集成任务进行优化,使得所述代码模块持续集成任务的耗时降低。/n
【技术特征摘要】
1.一种持续集成任务的优化方法,其特征在于,包括:
在软件开发过程中,获取软件版本库中的源代码,并确定所述源代码中所包括的至少一个代码模块持续集成任务的实际耗时;
基于所述至少一个代码模块的代码量和所述实际耗时确定所述至少一个代码模块持续集成任务的理论耗时;
判断所述至少一个代码模块中是否存在代码模块持续集成任务的所述实际耗时与所述理论耗时之差大于预设阈值;
若存在,则基于任务优化策略对所述代码模块持续集成任务进行优化,使得所述代码模块持续集成任务的耗时降低。
2.如权利要求1所述的方法,其特征在于,基于所述至少一个代码模块的代码量和所述实际耗时确定所述至少一个代码模块持续集成任务的理论耗时,包括:
基于代码模块的类型将所述至少一个代码模块进行分类,其中,所述至少一个代码模块包括JAVA类、Android类和IOS类;
基于代码模块的代码量将同一类型的代码模块分为多个组,其中,每一组包括多个代码模块;
基于每一组中各个代码模块持续集成任务的所述实际耗时和所述代码量确定每一组中各个代码模块持续集成任务的理论耗时。
3.如权利要求2所述的方法,其特征在于,基于每一组中各个代码模块持续集成任务的所述实际耗时和所述代码量确定每一组中各个代码模块持续集成任务的理论耗时,包括:
基于所述每一组中各个代码模块持续集成任务的所述实际耗时和所述代码量,得到一组离散数据;
对所述离散数据进行数据拟合得到所述离散数据对应的最佳拟合曲线;
基于所述最佳拟合曲线得到所述每一组中各个代码模块持续集成任务的所述理论耗时。
4.如权利要求2所述的方法,其特征在于,基于代码模块的代码量将同一类型的代码模块分为多个组,包括:
基于预设的多个代码量的范围将同一类型的代码模块分为多分组,其中,同一组的所述代码模块的代码量在同一预设的代码量的范围内。
5.如权利要求4所述的方法,其特征在于,基于任务优化策略对所述代码模块持续集成任务进行优化,包括基于以下一种或多种策略对所述代码模块持续集成任务进行优化:
判断所述代码模块持续集成任务中是否存在至少两次相同的操作;
若存在,则保留所述至少两次相同的操作中的任一次操作;或
判断所述代码模块各个持续集成任务是否在同一工作空间构建;
若不是,则将任一持续集成任务的工作空间作为共享工作空间,其中,所述各个持续集成任务都在所述共享空间中构建;或
判断所述代码模块持续集成任务的代码和...
【专利技术属性】
技术研发人员:乔中兴,张翼飞,李伟光,
申请(专利权)人:中移杭州信息技术有限公司,中国移动通信集团有限公司,
类型:发明
国别省市:浙江;33
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。