一种持续集成方法、装置、电子设备及存储介质制造方法及图纸

技术编号:19023255 阅读:18 留言:0更新日期:2018-09-26 19:01
本发明专利技术实施例提供了一种持续集成方法、装置、电子设备及存储介质,所述方法包括:接收待发布的代码;对所述待发布的代码进行集成测试;将未通过集成测试的待发布的代码返回给终端,以使所述待发布的代码通过集成测试;检测所述通过集成测试的待发布的代码,得到所述待发布的代码的代码参数;根据所述代码参数,判断所述待发布的代码是否通过所述待发布的代码的限制条件;将未通过限制条件的待发布的代码返回给所述终端,以使所述待发布的代码通过限制条件;发布所述通过限制条件的待发布的代码。本发明专利技术实施例提供的方法可以及时反馈集成结果,提高集成效率。

【技术实现步骤摘要】
一种持续集成方法、装置、电子设备及存储介质
本专利技术涉及计算机
,特别是涉及一种持续集成方法、装置、电子设备及存储介质。
技术介绍
随着互联网公司生产效率的提高,软硬件的迭代频率越来越高,以周或者天为单位的产品迭代升级现象非常普遍。这对产品测试的效率有较高的要求,传统的手工测试已经无法跟上需求的速度,尤其对于大型多模块程序而言,如果每次迭代都要求手工回归测试所有功能是不切实际的,所以在方便做持续集成的项目中,持续集成被广泛应用。持续集成是一种软件开发实践,是软件开发过程中的一个重要组成部分。持续集成一般包含三个基本实践:统一代码库、自动集成、自动测试。在持续集成中,开发人员频繁集成他们的工作成果,一般每人每天至少集成一次,也可以集成多次。每次集成会经过自动构建(包括自动测试)的检验,以尽快发现集成的错误,这种检验方法可以显著减少集成引起的问题,并且加快团队合作软件开发的速度。在实际的应用过程中,持续集成耗费的时间长短与项目的大小存在正比例关系,越庞大的项目,做一次持续集成的时间成本就越高;需要测试的方面越多,用到的持续集成工具就越复杂。现有的持续集成技术,通常选择基于jenkins平台的持续集成,jenkins是一种持续集成工具,jenkins的大致使用方法是,在一台服务器上独立部署jenkins服务、编写脚本形成持续集成的步骤、用流水线pipeline进行持续集成;然后将集成结果通过另外一个测试平台进行测试,以检验集成中的错误,集成平台和测试平台为两个独立的工作平台。现有的持续集成技术中,由于持续集成平台与测试平台代码库的功能是分离的,持续集成的结果需要通过测试人员在测试平台上查看测试结果以后,反馈给研发人员,持续集成的结果对代码质量本身并没有直接反馈作用,需要通过另外的测试平台反馈测试结果,反馈效率低,从而导致持续集成的效率较低。
技术实现思路
本专利技术实施例的目的在于提供一种持续集成方法、装置、电子设备及存储介质,可以实现快速有效的将代码进行持续集成,并能够及时反馈集成结果,提高了集成的效率。具体技术方案如下:本专利技术实施例提供了一种持续集成方法,包括:接收待发布的代码;对待发布的代码进行集成测试;将未通过集成测试的待发布的代码返回给终端,以使待发布的代码通过集成测试;检测通过集成测试的待发布的代码,得到待发布的代码的代码参数;根据代码参数,判断待发布的代码是否通过待发布的代码的限制条件;将未通过限制条件的待发布的代码返回给终端,以使待发布的代码通过限制条件;发布通过限制条件的待发布的代码。具体的,接收待发布的代码之后,还包括:检测待发布的代码是否为待合并的代码;当待发布的代码不是待合并的代码时,将待发布的代码返回给终端。具体的,对待发布的代码进行集成测试,包括:解析待发布的代码,得到至少一个函数;针对每个函数,分别进行测试,以执行待发布的代码,进而获得待发布的代码的执行结果。具体的,检测通过集成测试的待发布的代码,得到待发布的代码的代码参数,包括:获取待发布的代码的地址;通过地址检测待发布的代码,得到待发布的代码的代码参数。具体的,代码参数包括:待发布的代码的代码增量覆盖率、评论人数、评论数量。具体的,执行结果包括待发布的代码的状态码,还包括:根据状态码,生成第一发布失败原因信息;将第一发布失败原因信息返回给终端。具体的,根据所述代码参数,判断待发布的代码是否通过待发布的代码的限制条件,之后,还包括:统计未通过限制条件的待发布的代码的代码参数;根据代码参数,生成第二发布失败原因信息;将第二发布失败原因信息返回给终端。本专利技术实施例还提供了一种持续集成装置,装置包括:接收模块,用于接收待发布的代码;测试模块,用于对待发布的代码进行集成测试;第一返回模块,用于将未通过集成测试的待发布的代码返回给终端,以使待发布的代码通过集成测试;第一检测模块,用于检测通过集成测试的待发布的代码,得到待发布的代码的代码参数;判断模块,用于根据代码参数,判断待发布的代码是否通过待发布的代码的限制条件;第二返回模块,用于将未通过限制条件的待发布的代码返回给终端,以使待发布的代码通过限制条件;发布模块,用于发布通过限制条件的待发布的代码。具体的,装置还包括:第二检测模块,用于检测待发布的代码是否为待合并的代码;第三返回模块,用于当第二检测模块检测到待发布的代码不是待合并的代码时,将待发布的代码返回给终端。具体的,测试模块包括:解析子模块,用于解析待发布的代码,得到至少一个函数;测试子模块,用于针对每个函数,分别进行测试,以执行待发布的代码,进而获得待发布的代码的执行结果。具体的,第一检测模块包括:获取子模块,用于获取待发布的代码的地址;检测子模块,用于通过地址检测待发布的代码,得到待发布的代码的代码参数。具体的,所述代码参数包括:待发布的代码的代码增量覆盖率、评论人数、评论数量。具体的,装置还包括:第一失败信息生成模块,用于根据状态码,生成第一发布失败原因信息;第一失败信息返回模块,用于将第一发布失败原因信息和待发布的代码返回给终端。具体的,装置还包括:统计模块,用于统计未通过限制条件的待发布的代码的代码参数;第二失败信息生成模块,用于根据状态码,生成第二发布失败原因信息;第二失败信息返回模块,用于将第二发布失败原因信息和待发布的代码返回给终端。本专利技术实施例提供了一种电子设备,包括处理器和机器可读存储介质,机器可读存储介质存储有能够被处理器执行的机器可执行指令,处理器执行机器可执行指令时,实现上述的持续集成方法步骤。本专利技术实施例提供了一种计算机可读存储介质,计算机可读存储介质内存储有计算机程序,计算机程序被处理器执行时实现上述的持续集成方法步骤。本专利技术实施例还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述的持续集成方法。本专利技术实施例还提供了一种计算机程序,当其在计算机上运行时,使得计算机执行上述的持续集成方法。本专利技术实施例提供的持续集成方法、装置、电子设备及存储介质,可以实现将代码集成的同时,及时反馈集成结果,并根据集成结果进行调整,提高集成效率。首先接收待发布的代码;对待发布的代码进行集成测试;将未通过集成测试的待发布的代码返回给终端,以使待发布的代码通过集成测试,形成第一次反馈;检测通过集成测试的待发布的代码,得到待发布的代码的代码参数;根据得到的代码参数,判断代码是否通过待发布的代码的限制条件;将未通过限制条件的待发布的代码返回给终端,以使待发布的代码通过限制条件,形成第二次反馈;将通过限制条件的待发布的代码发布,完成代码的集成。本专利技术实施例提供的方法通过两次不同的实时反馈,形成完整闭环的持续集成,及时反馈集成结果,并根据集成结果,重新调整代码,提高了代码的集成效率。当然,实施本专利技术的任一产品或方法必不一定需要同时达到以上的所有优点。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本专利技术一种实施例提供的持续集成方法的流程图;图2a为本专利技术实施例提供的在gitl本文档来自技高网
...

【技术保护点】
1.一种持续集成方法,其特征在于,所述方法包括:接收待发布的代码;对所述待发布的代码进行集成测试;将未通过集成测试的待发布的代码返回给终端,以使所述待发布的代码通过集成测试;检测所述通过集成测试的待发布的代码,得到所述待发布的代码的代码参数;根据所述代码参数,判断所述待发布的代码是否通过所述待发布的代码的限制条件;将未通过限制条件的待发布的代码返回给所述终端,以使所述待发布的代码通过限制条件;发布所述通过限制条件的待发布的代码。

【技术特征摘要】
1.一种持续集成方法,其特征在于,所述方法包括:接收待发布的代码;对所述待发布的代码进行集成测试;将未通过集成测试的待发布的代码返回给终端,以使所述待发布的代码通过集成测试;检测所述通过集成测试的待发布的代码,得到所述待发布的代码的代码参数;根据所述代码参数,判断所述待发布的代码是否通过所述待发布的代码的限制条件;将未通过限制条件的待发布的代码返回给所述终端,以使所述待发布的代码通过限制条件;发布所述通过限制条件的待发布的代码。2.根据权利要求1所述的方法,其特征在于,所述接收待发布的代码之后,所述方法还包括:检测所述待发布的代码是否为待合并的代码;当所述待发布的代码不是待合并的代码时,将所述待发布的代码返回给所述终端。3.根据权利要求1所述的方法,其特征在于,所述对所述待发布的代码进行集成测试,包括:解析所述待发布的代码,得到至少一个函数;针对每个函数,分别进行测试,以执行所述待发布的代码,进而获得所述待发布的代码的执行结果。4.根据权利要求1所述的方法,其特征在于,所述检测所述通过集成测试的待发布的代码,得到所述待发布的代码的代码参数,包括:获取所述待发布的代码的地址;通过所述地址检测所述待发布的代码,得到所述待发布的代码的代码参数。5.根据权利要求4所述的方法,其特征在于,所述代码参数包括:所述待发布的代码的代码增量覆盖率、评论人数、评论数量。6.根据权利要求3所述的方法,其特征在于,所述执行结果包括所述待发布的代码的状态码,所述方法还包括:根据所述状态码,生成第一发布失败原因信息;将所述第一发布失败原因信息返回给终端。7.根据权利要求1至5中任一项所述的方法,其特征在于,所述根据所述代码参数,判断所述待发布的代码是否通过所述待发布的代码的限制条件,之后,所述方法还包括:统计所述未通过限制条件的待发布的代码的代码参数;根据所述代码参数,生成第二发布失败原因信息;将所述第二发布失败原因信息返回给所述终端。8.一种持续集成装置,其特征在于,所述装置包括:接收模块,用于接收待发布的代码;测试模块,用于对所述待发布的代码进行集成测试;第一返回模块,用于将未通过集成测试的待发布的代码返回给终端,以使所述待发布的代码通过集成测试;第一检测模块,用于检测所述通过集成...

【专利技术属性】
技术研发人员:王雅娴
申请(专利权)人:北京金山云网络技术有限公司北京金山云科技有限公司
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1