[发明专利]一种智能化持续集成与持续部署流水线方法及系统有效
申请号: | 201810744917.0 | 申请日: | 2018-07-09 |
公开(公告)号: | CN108958721B | 公开(公告)日: | 2020-10-30 |
发明(设计)人: | 朱家鑫;陈伟;高楚舒;魏峻;杨丰 | 申请(专利权)人: | 中国科学院软件研究所 |
主分类号: | G06F8/30 | 分类号: | G06F8/30 |
代理公司: | 北京科迪生专利代理有限责任公司 11251 | 代理人: | 安丽;成金玉 |
地址: | 100190 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 智能化 持续 集成 部署 流水线 方法 系统 | ||
1.一种智能化持续集成与持续部署流水线方法,其特征在于,包括以下步骤:
(1)收集开放协作平台上可被访问的项目的持续集成与持续部署配置文件及使用的开发语言、开发框架信息,构建持续集成与持续部署流水线任务库及配置模板库;
(2)针对步骤(1)构建持续集成与持续部署流水线任务库中的每一项任务,建立一套可选、可配置的任务执行规则;
(3)获取服务的用户项目使用的开发语言、开发框架,根据其使用的开发语言、开发框架从步骤(1)构建的持续集成与持续部署流水线任务库及配置模板库中,推荐流水线配置模板与流水线任务形成用户项目的持续集成与持续部署流水线;
(4)记录步骤(3)中所述用户项目的版本控制仓库地址,在本地建立上述版本控制仓库的副本,持续监控源版本控制仓库与本地副本仓库间的差异,发现开发者提交的代码变更;
(5)对步骤(3)形成的持续集成与持续部署流水线中任务的执行进行综合监控、度量分析和记录,形成历史信息库,监控、度量分析和记录内容包括代码变更信息及其上下文,代码变更对应的持续集成与持续部署任务执行信息;
(6)对步骤(3)形成的持续集成与持续部署流水线中任务的输入和输出文件进行追踪,建立任务与文件间的输入输出关联并缓存任务输出的文件,根据任务与文件间的输入输出关联进一步建立任务间的依赖关系;
(7)在步骤(4)发现开发者提交的代码变更时,根据以下四个决策面依次判断步骤(3)形成的持续集成与持续部署流水线中的任务是否需要执行、是否并行执行并决定需要执行的任务的参数和配置,所述四个决策面为:a.用户选择和配置的步骤(2)构建的任务执行规则,b.基于步骤(5)形成的历史信息库的机器学习决策模型的预判结果,c.步骤(6)建立的任务间的依赖关系,d.步骤(6)追踪的任务输入文件的变更。
2.根据权利要求1所述的智能化持续集成与持续部署流水线方法,其特征在于:所述步骤(1)中,根据使用的开发语言、开发框架对开放协作平台上可被访问的项目分类,从分类后的每一类项目的配置文件中提取常见的任务及其信息、任务间的依赖关系;所述任务信息包括任务的名称、任务的参数和配置,所述任务的参数和配置包括任务依赖的工具、工具的参数和配置,利用所述任务及其信息、任务间依赖关系构建持续集成与持续部署流水线任务库及模板库。
3.根据权利要求1所述的智能化持续集成与持续部署流水线方法,其特征在于:所述步骤(2)中,一套可选、可配置的任务执行规则包括:
(31)周期性执行规则:预设任务执行周期、任务参数和配置,如果周期内代码发生变更,在周期结束时,不考虑其他因素,以预设的任务参数和配置执行任务;
(32)最大时间间隔执行规则:预设任务执行的最大时间间隔、任务参数和配置,在最大时间间隔内,如果代码发生了变更且任务没有被执行过,不考虑其他因素,以预设的任务参数和配置执行任务;
(33)累积变更规模执行规则:预设累积变更规模、任务参数和配置,上次任务执行后,源版本控制仓库与本地版本控制仓库副本变更累积到预设规模后,不考虑其他因素,以预设的任务参数和配置执行任务,所述累积变更规模以行数计算,区别不同类型的变更;
(34)流水线配置变更执行规则:预设任务参数和配置,流水线配置被用户修改后,不考虑其他因素,以预设的任务参数和配置执行任务。
4.根据权利要求1所述的智能化持续集成与持续部署流水线方法,其特征在于:所述步骤(5)中,所述代码变更信息包括代码变更的作者和提交者、代码变更的作者和提交者的业务经验技能、代码变更的类型、每种类型的行数、代码变更所涉及的代码文件、该文件被近期代码变更涉及的次数、最近涉及该文件的代码变更的作者与提交者与本次是否相同和该文件近期涉及的持续集成与持续部署任务次数,其中每种类型的行数包括添加与删除的行数。
5.根据权利要求1所述的智能化持续集成与持续部署流水线方法,其特征在于:所述步骤(5)中,所述代码变更上下文包括:近期代码变更的次数、近期代码变更的作者数和提交者数、距离上一次代码变更的时间、距离上一次持续部署与持续集成任务的时间、上一次持续部署与持续集成任务的执行结果。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国科学院软件研究所,未经中国科学院软件研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810744917.0/1.html,转载请声明来源钻瓜专利网。