CN108614768A - 一种分布式持续集成方法及装置 - Google Patents

一种分布式持续集成方法及装置 Download PDF

Info

Publication number
CN108614768A
CN108614768A CN201611155001.9A CN201611155001A CN108614768A CN 108614768 A CN108614768 A CN 108614768A CN 201611155001 A CN201611155001 A CN 201611155001A CN 108614768 A CN108614768 A CN 108614768A
Authority
CN
China
Prior art keywords
test
code
source code
packet
test code
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201611155001.9A
Other languages
English (en)
Inventor
张秋生
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Gridsum Technology Co Ltd
Original Assignee
Beijing Gridsum Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Gridsum Technology Co Ltd filed Critical Beijing Gridsum Technology Co Ltd
Priority to CN201611155001.9A priority Critical patent/CN108614768A/zh
Publication of CN108614768A publication Critical patent/CN108614768A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明公开了一种分布式持续集成方法,用于提高持续集成中的测试速度,该方法包括:获取源代码和测试代码;编译所述源代码生成源代码包;将所述测试代码分解为多个测试代码包;当所述测试代码包的数量大于配置值时,将各个所述测试代码包以及所述源代码包分别发送给不同的测试执行端,以使所述测试执行端编译并执行接收到的所述测试代码包以生成所述源代码的测试结果;接收所述源代码的测试结果。本发明还公开了一种分布式持续集成装置。

Description

一种分布式持续集成方法及装置
技术领域
本发明涉及计算机技术领域,具体涉及一种分布式持续集成方法及装置。
背景技术
持续集成是一种软件开发时间,指开发人员频繁地(一天多次)将代码集成到主干,每次集成通过自动化的流程进行编译、自动化测试、发布等环节。在持续集成中,如果能越快完成持续集成的流程,相关人员就能越快得到反馈,就能在持续集成实践中得到越大的好处。
在现有技术中,持续集成流程中的各环节例如编译环节、自动化测试环节均运行在一台服务器上。在这种情况下,如果测试数量比较庞大的话,自动化测试环节运行时间会很比较长,导致得到持续集成结果反馈的速度较慢,从而影响开发效率,且在运行自动化环节的过程中服务器会一直被占用,无法响应其他任务。
发明内容
有鉴于此,本发明提供一种分布式持续集成方法及装置,以解决现有技术中在持续集成过程中运行自动化测试的时间较长,导致持续集成效率较低的技术问题。
为解决上述问题,本发明提供的技术方案如下:
一种分布式持续集成方法,所述方法包括:
获取源代码和测试代码;
编译所述源代码生成源代码包;
将所述测试代码分解为多个测试代码包;
当所述测试代码包的数量大于配置值时,将各个所述测试代码包以及所述源代码包分别发送给不同的测试执行端,以使所述测试执行端编译并执行接收到的所述测试代码包以生成所述源代码的测试结果;
接收所述源代码的测试结果。
相应的,所述方法还包括:
判断所述测试代码的规模是否超过预设阈值;
将所述测试代码分解为多个测试代码包,包括:
如果所述测试代码的规模超过预设阈值,将所述测试代码分解为多个测试代码包。
相应的,所述将各个所述测试代码包以及所述源代码包分别发送给不同的测试执行端,包括:
在一台或多台测试服务器中触发启动与所述测试代码包的数量一致的虚拟机和/或虚拟容器,每台所述虚拟机或者所述虚拟容器作为一个测试执行端;
将各个所述测试代码包以及所述源代码包分别发送给不同的测试执行端。
相应的,所述方法还包括:
在所述测试执行端编译并执行接收到的所述测试代码包以生成所述源代码的测试结果之后,触发关闭或销毁所述虚拟机和/或所述虚拟容器。
相应的,所述方法还包括:
当所述测试代码包的数量小于或等于所述配置值时,在本地编译并执行所述测试代码包以生成所述源代码的测试结果。
一种分布式持续集成装置,所述装置包括:
获取单元,用于获取源代码和测试代码;
第一编译单元,用于编译所述源代码生成源代码包;
分解单元,用于将所述测试代码分解为多个测试代码包;
发送单元,用于当所述测试代码包的数量大于配置值时,将各个所述测试代码包以及所述源代码包分别发送给不同的测试执行端,以使所述测试执行端编译并执行接收到的所述测试代码包以生成所述源代码的测试结果;
接收单元,用于接收所述源代码的测试结果。
相应的,所述装置还包括:
判断单元,用于判断所述测试代码的规模是否超过预设阈值;
所述分解单元具体用于:
如果所述测试代码的规模超过预设阈值,将所述测试代码分解为多个测试代码包。
相应的,包括:
第一触发子单元,用于当所述测试代码包的数量大于配置值时,在一台或多台测试服务器中触发启动与所述测试代码包的数量一致的虚拟机和/或虚拟容器,每台所述虚拟机或者所述虚拟容器作为一个测试执行端;
发送子单元,用于将各个所述测试代码包以及所述源代码包分别发送给不同的测试执行端,以使所述测试执行端编译并执行接收到的所述测试代码包以生成所述源代码的测试结果。
相应的,所述发送单元还包括:
第二触发子单元,用于在所述测试执行端编译并执行接收到的所述测试代码包以生成所述源代码的测试结果之后,触发关闭或销毁所述虚拟机和/或所述虚拟容器。
相应的,所述装置还包括:
第二编译单元,用于当所述测试代码包的数量小于或等于所述配置值时,在本地编译并执行所述测试代码包以生成所述源代码的测试结果。
由此可见,本发明实施例具有如下有益效果:
本发明实施例将测试代码分解为多个测试代码包,当测试代码包的数量大于配置值时,通过分布式的方式将各个测试代码包以及源代码包分发给不同的测试执行端编译并执行测试代码包以生成所述源代码的测试结果,从而降低测试运行时间、快速得到测试结果,实现提高持续集成效率以及资源利用率。
附图说明
图1为本发明实施例中提供的持续集成的流程示意图;
图2为本发明实施例中提供的分布式持续集成的方法实施例一的流程图;
图3为本发明实施例中提供的分布式持续集成的方法实施例二的流程图;
图4为本发明实施例中提供的分布式持续集成的装置实施例的示意图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明实施例作进一步详细的说明。
本发明实施例中提供的分布式持续集成方法及装置,是针对现有技术中在持续集成中,在测试规模增长后,运行自动化测试的时间较长的技术问题,提出通过自动化的方式,把数量庞大的测试代码分发到分布式集群中运行,缩短持续集成中运行测试环节执行时间,提高持续集成的效率、快速响应能力以及服务器资源利用率。
参见图1所示,首先对在实际应用中持续集成的流程进行说明。在持续集成的过程中,版本库中可以保存有需要被测试的源代码以及测试代码,依赖管理模块中保存有执行测试所必需的一些依赖程序包,从版本库中可以获取到源代码以及测试代码,从依赖管理模块中可以获取到依赖程序包,然后进入构建(Build)环节,构建可以指将源码转换为可执行代码包,在构建中主要是编译源代码,或者编译源代码以及测试代码,自动化测试中如果测试代码未被编译则编译并执行测试代码,或者直接执行已编译的测试代码,在现有技术中测试代码都是作为一个整体编译出来并在一台服务器执行,执行时间会比较长。本发明实施例中主要是对持续集成中的构建环节以及自动化测试环节进行改进,详细说明可以参见后续实施例。在完成自动化测试后,可以对代码质量进行分析,在代码质量符合预期要求的情况下进行打包发布,从而完成持续集成的过程。
参见图2所示,本发明实施例中提供的分布式持续集成的方法实施例一,可以包括以下步骤:
步骤201:获取源代码和测试代码。
源代码可以指在持续集成过程中需要被测试的源代码,测试代码中可以包括对源代码进行测试的逻辑,测试方式包括但不限于单元测试、集成测试以及端对端测试,单元测试可以指针对函数或者模块的测试,集成测试可以指针对整体产品的某个功能的测试,又可以称为功能测试,端对端测试可以进行从用户界面直达数据库的全链路测试。在实际应用中可以从版本库中获取源代码和测试代码,本领域技术人员可以理解的是,为了实现持续集成还可以根据实际需求获取必要的依赖程序包。
步骤202:编译源代码生成源代码包。
将源代码编译为可执行的源代码包,即production(产品)包。
步骤203:将测试代码分解为多个测试代码包。
在本实施例中,为了加快自动化测试的速度,可以将测试代码分解为多个测试代码包。
在本发明一些可能的实现方式中,在将测试代码分解为多个测试代码包之前还可以包括判断测试代码的规模是否超过预设阈值,则将测试代码分解为多个测试代码包的具体实现可以包括:
如果测试代码的规模超过预设阈值,将测试代码分解为多个测试代码包。
在本实施例中,可以先扫描测试代码,根据测试代码的规模,当测试代码规模超过预设阈值时,例如测试代码的行数超过预设阈值或者测试代码的大小超过预设阈值,将测试代码分解为多个测试代码包(test包),分解的过程可以为根据测试代码中所具有的结构标识识别测试代码的包头将测试代码分解为多个测试代码包,其中,预设阈值可以根据实际情况进行设定,本发明对此不进行限定。另外,在一些情况下,也可以直接将测试代码分解为多个测试代码包(test包)。
步骤204:当测试代码包的数量大于配置值时,将各个测试代码包以及源代码包分别发送给不同的测试执行端,以使测试执行端编译并执行接收到的测试代码包以生成源代码的测试结果。
在本发明一些可能的实现方式中,当测试代码包的数量小于或等于配置值时,在本地编译并执行测试代码包以生成源代码的测试结果。
在本发明一些可能的实现方式中,将各个测试代码包以及源代码包分别发送给不同的测试执行端的具体实现可以包括:
在一台或多台测试服务器中触发启动与测试代码包的数量一致的虚拟机和/或虚拟容器,每台虚拟机或者虚拟容器作为一个测试执行端;
将各个测试代码包以及源代码包分别发送给不同的测试执行端。
在本实施例中,当测试代码包的数量大于配置值(该配置值可以根据实际情况设定)时,可以将各个测试代码包以及源代码包分发给与测试代码包数量一致的测试执行端,每个测试执行端获取一个测试代码包以及源代码包,对测试代码包进行编译并执行生成对源代码的测试结果,由于多个测试执行端同时进行自动化测试,因此提高了持续集成中自动化测试的速度。
一个测试执行端可以为一台虚拟机或者虚拟容器,为了提高服务器的资源利用率,可以在一台服务器中启动多台虚拟机和/或虚拟容器,每台虚拟机或者虚拟容器作为一个测试执行端,从而服务器的硬件资源可以被充分利用。在本实施例中可以向一台或多台测试服务器发送启动测试执行端的指令,该指令中可以包括测试代码包的数量也即所需要启动的测试执行端的数量,在一台或多台测试服务器中根据该指令触发启动与测试代码包数量一致的测试执行端,测试执行端可以为虚拟机或者虚拟容器,在测试执行端中编译并执行测试数据包以生成对源代码的测试结果。
在本发明一些可能的实现方式中,还可以在测试执行端编译并执行接收到的测试代码包以生成源代码的测试结果之后,触发关闭或销毁虚拟机和/或虚拟容器。
在生成源代码的测试结果之后,可以向各个测试执行端(即虚拟机或者虚拟容器)发送关闭指令,触发关闭或销毁这些虚拟机和/或虚拟容器,及时对服务器的硬件资源进行释放。
步骤205:接收源代码的测试结果。
最后对一个或多个测试执行端的源代码的测试结果进行汇总,可以得到对源代码的质量分析结果,完成持续集成过程。
这样,本发明实施例将测试代码分解为多个测试代码包,当测试代码包的数量大于配置值时,通过分布式的方式将各个测试代码包以及源代码包分发给不同的测试执行端编译并执行测试代码包以生成所述源代码的测试结果,从而降低测试运行时间、快速得到测试结果,实现提高持续集成效率以及资源利用率。
在上述实施例中分布式持续集成的方法由编译服务器执行,在持续集成开始时可以由持续集成服务器调度编译服务器开始工作,在实际应用中持续集成服务器与编译服务器可以运行在一台物理服务器中。参见图3所示,本发明实施例中提供的分布式持续集成的方法实施例二,在实际应用中,本发明实施例中提供的分布式持续集成的方法可以包括以下步骤:
步骤301:持续集成服务器向编译服务器下发持续集成任务开始指令。
步骤302:编译服务器在接收到持续集成任务开始指令后,触发持续集成任务,以下步骤303-311为持续集成任务的实现过程,相关说明可以参见上述实施例。
步骤303:编译服务器从版本库获取源代码和测试代码。
步骤304:编译服务器下载依赖程序包。
步骤305:编译服务器编译源代码生成源代码包。
步骤306:编译服务器将测试代码分解为多个测试代码包。
步骤307:编译服务器判断测试代码包的数量是否大于配置值,如果是,进入步骤308,如果否,进入步骤310。
步骤308:编译服务器触发启动与测试代码包的数量一致的虚拟机和/或虚拟容器,并分发源代码包以及测试代码包,即每台虚拟机或者虚拟容器作为一个测试执行端,将各个测试代码包以及源代码包分别发送给不同的测试执行端。
步骤309:测试执行端编译并执行接收到的测试代码包以生成源代码的测试结果。
步骤310:在本地编译并执行测试代码包以生成源代码的测试结果。
步骤311:接收源代码的测试结果,并将源代码的测试结果进行汇总上报给持续集成服务器。
这样,本发明实施例通过分布式的方式,运行数量庞大的测试,达到降低测试运行时间、快速得到反馈结果以及跟持续集成相结合,提供持续集成效率和资源利用的目的。
参见图4所示,本发明实施例中还提供一种分布式持续集成装置实施例,可以包括:
获取单元401,用于获取源代码和测试代码。
第一编译单元402,用于编译源代码生成源代码包。
分解单元403,用于将测试代码分解为多个测试代码包。
在本发明一些可能的实现方式中,本发明实施例中提供的分布式持续集成装置还可以包括判断单元,用于判断所述测试代码的规模是否超过预设阈值;则所述分解单元可以具体用于:如果测试代码的规模超过预设阈值,将测试代码分解为多个测试代码包。
发送单元404,用于当测试代码包的数量大于配置值时,将各个测试代码包以及源代码包分别发送给不同的测试执行端,以使测试执行端编译并执行接收到的测试代码包以生成源代码的测试结果。
在本发明一些可能的实现方式中,发送单元可以包括:
第一触发子单元,用于当测试代码包的数量大于配置值时,在一台或多台测试服务器中触发启动与测试代码包的数量一致的虚拟机和/或虚拟容器,每台虚拟机或者虚拟容器作为一个测试执行端;
发送子单元,用于将各个测试代码包以及源代码包分别发送给不同的测试执行端,以使测试执行端编译并执行接收到的测试代码包以生成源代码的测试结果。
在本发明一些可能的实现方式中,发送单元还可以包括:
第二触发子单元,用于在测试执行端编译并执行接收到的测试代码包以生成源代码的测试结果之后,触发关闭或销毁虚拟机和/或虚拟容器。
也即发送单元可以具体用于当测试代码包的数量大于配置值时,在一台或多台测试服务器中触发启动与测试代码包的数量一致的虚拟机和/或虚拟容器,每台虚拟机或者虚拟容器作为一个测试执行端;将各个测试代码包以及源代码包分别发送给不同的测试执行端,以使测试执行端编译并执行接收到的测试代码包以生成源代码的测试结果。发送单元还可以用于在测试执行端编译并执行接收到的测试代码包以生成源代码的测试结果之后,触发关闭或销毁虚拟机和/或虚拟容器。
接收单元405,用于接收源代码的测试结果。
在本发明一些可能的实现方式中,本发明实施例中提供的分布式持续集成的装置还可以包括:
第二编译单元,用于当测试代码包的数量小于或等于配置值时,在本地编译并执行测试代码包以生成源代码的测试结果。
所述分布式持续集成装置包括处理器和存储器,上述获取单元、第一编译单元、分解单元、发送单元和接收单元等均作为程序单元存储在存储器中,由处理器执行存储在存储器中的上述程序单元来实现相应的功能。
处理器中包含内核,由内核去存储器中调取相应的程序单元。内核可以设置一个或以上,通过调整内核参数来在实现分布式持续集成。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM),存储器包括至少一个存储芯片。
这样,本发明实施例将测试代码分解为至少一个测试代码包,当测试代码包的数量大于配置值时,通过分布式的方式将各个测试代码包以及源代码包分发给不同的测试执行端编译并执行测试代码包以生成所述源代码的测试结果,从而降低测试运行时间、快速得到测试结果,实现提高持续集成效率以及资源利用率。
本申请还提供了另一种计算机程序产品,当在数据处理设备上执行时,适于执行初始化有如下方法步骤的程序代码:
获取源代码和测试代码;
编译所述源代码生成源代码包;
将所述测试代码分解为多个测试代码包;
当所述测试代码包的数量大于配置值时,将各个所述测试代码包以及所述源代码包分别发送给不同的测试执行端,以使所述测试执行端编译并执行接收到的所述测试代码包以生成所述源代码的测试结果;
接收所述源代码的测试结果。
需要说明的是,本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的系统或装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (10)

1.一种分布式持续集成方法,其特征在于,所述方法包括:
获取源代码和测试代码;
编译所述源代码生成源代码包;
将所述测试代码分解为多个测试代码包;
当所述测试代码包的数量大于配置值时,将各个所述测试代码包以及所述源代码包分别发送给不同的测试执行端,以使所述测试执行端编译并执行接收到的所述测试代码包以生成所述源代码的测试结果;
接收所述源代码的测试结果。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
判断所述测试代码的规模是否超过预设阈值;
将所述测试代码分解为多个测试代码包,包括:
如果所述测试代码的规模超过预设阈值,将所述测试代码分解为多个测试代码包。
3.根据权利要求1所述的方法,其特征在于,所述将各个所述测试代码包以及所述源代码包分别发送给不同的测试执行端,包括:
在一台或多台测试服务器中触发启动与所述测试代码包的数量一致的虚拟机和/或虚拟容器,每台所述虚拟机或者所述虚拟容器作为一个测试执行端;
将各个所述测试代码包以及所述源代码包分别发送给不同的测试执行端。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
在所述测试执行端编译并执行接收到的所述测试代码包以生成所述源代码的测试结果之后,触发关闭或销毁所述虚拟机和/或所述虚拟容器。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
当所述测试代码包的数量小于或等于所述配置值时,在本地编译并执行所述测试代码包以生成所述源代码的测试结果。
6.一种分布式持续集成装置,其特征在于,所述装置包括:
获取单元,用于获取源代码和测试代码;
第一编译单元,用于编译所述源代码生成源代码包;
分解单元,用于将所述测试代码分解为多个测试代码包;
发送单元,用于当所述测试代码包的数量大于配置值时,将各个所述测试代码包以及所述源代码包分别发送给不同的测试执行端,以使所述测试执行端编译并执行接收到的所述测试代码包以生成所述源代码的测试结果;
接收单元,用于接收所述源代码的测试结果。
7.根据权利要求6所述的装置,其特征在于,所述装置还包括:
判断单元,用于判断所述测试代码的规模是否超过预设阈值;
所述分解单元具体用于:
如果所述测试代码的规模超过预设阈值,将所述测试代码分解为多个测试代码包。
8.根据权利要求6所述的装置,其特征在于,所述发送单元,包括:
第一触发子单元,用于当所述测试代码包的数量大于配置值时,在一台或多台测试服务器中触发启动与所述测试代码包的数量一致的虚拟机和/或虚拟容器,每台所述虚拟机或者所述虚拟容器作为一个测试执行端;
发送子单元,用于将各个所述测试代码包以及所述源代码包分别发送给不同的测试执行端,以使所述测试执行端编译并执行接收到的所述测试代码包以生成所述源代码的测试结果。
9.根据权利要求8所述的装置,其特征在于,所述发送单元还包括:
第二触发子单元,用于在所述测试执行端编译并执行接收到的所述测试代码包以生成所述源代码的测试结果之后,触发关闭或销毁所述虚拟机和/或所述虚拟容器。
10.根据权利要求6所述的装置,其特征在于,所述装置还包括:
第二编译单元,用于当所述测试代码包的数量小于或等于所述配置值时,在本地编译并执行所述测试代码包以生成所述源代码的测试结果。
CN201611155001.9A 2016-12-14 2016-12-14 一种分布式持续集成方法及装置 Pending CN108614768A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201611155001.9A CN108614768A (zh) 2016-12-14 2016-12-14 一种分布式持续集成方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201611155001.9A CN108614768A (zh) 2016-12-14 2016-12-14 一种分布式持续集成方法及装置

Publications (1)

Publication Number Publication Date
CN108614768A true CN108614768A (zh) 2018-10-02

Family

ID=63658263

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201611155001.9A Pending CN108614768A (zh) 2016-12-14 2016-12-14 一种分布式持续集成方法及装置

Country Status (1)

Country Link
CN (1) CN108614768A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110046095A (zh) * 2019-03-18 2019-07-23 平安普惠企业管理有限公司 基于测试流程改进的系统集成方法及装置
CN110806922A (zh) * 2019-10-14 2020-02-18 广州微算互联信息技术有限公司 一种执行脚本方法、装置、设备及存储介质

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101149682A (zh) * 2007-10-31 2008-03-26 金蝶软件(中国)有限公司 一种日构建方法、装置及系统
CN101174237A (zh) * 2007-11-28 2008-05-07 华为技术有限公司 一种自动化测试方法、系统及一种测试设备
CN102193812A (zh) * 2011-06-03 2011-09-21 深圳市茁壮网络股份有限公司 一种代码编译方法、主机及系统
CN102693183A (zh) * 2012-05-30 2012-09-26 瑞斯康达科技发展股份有限公司 一种实现软件自动化测试的方法及系统
CN103440136A (zh) * 2013-09-05 2013-12-11 迈普通信技术股份有限公司 分布式编译的方法及系统
US20140123119A1 (en) * 2010-09-19 2014-05-01 Micro Focus (Us), Inc. Cobol to bytecode translation
CN105760166A (zh) * 2016-02-23 2016-07-13 浪潮通用软件有限公司 一种基于分层的源代码自动构建实现方法

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101149682A (zh) * 2007-10-31 2008-03-26 金蝶软件(中国)有限公司 一种日构建方法、装置及系统
CN101174237A (zh) * 2007-11-28 2008-05-07 华为技术有限公司 一种自动化测试方法、系统及一种测试设备
US20140123119A1 (en) * 2010-09-19 2014-05-01 Micro Focus (Us), Inc. Cobol to bytecode translation
CN102193812A (zh) * 2011-06-03 2011-09-21 深圳市茁壮网络股份有限公司 一种代码编译方法、主机及系统
CN102693183A (zh) * 2012-05-30 2012-09-26 瑞斯康达科技发展股份有限公司 一种实现软件自动化测试的方法及系统
CN103440136A (zh) * 2013-09-05 2013-12-11 迈普通信技术股份有限公司 分布式编译的方法及系统
CN105760166A (zh) * 2016-02-23 2016-07-13 浪潮通用软件有限公司 一种基于分层的源代码自动构建实现方法

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110046095A (zh) * 2019-03-18 2019-07-23 平安普惠企业管理有限公司 基于测试流程改进的系统集成方法及装置
CN110046095B (zh) * 2019-03-18 2024-02-02 天航长鹰(江苏)科技有限公司 基于测试流程改进的系统集成方法及装置
CN110806922A (zh) * 2019-10-14 2020-02-18 广州微算互联信息技术有限公司 一种执行脚本方法、装置、设备及存储介质
CN110806922B (zh) * 2019-10-14 2022-06-21 广州微算互联信息技术有限公司 一种执行脚本方法、装置、设备及存储介质

Similar Documents

Publication Publication Date Title
EP3508977A1 (en) Partitioning based migration of systems to container and microservice based platforms
Campos et al. Continuous test generation: Enhancing continuous integration with automated test generation
CN104683180B (zh) 一种性能监控方法、系统及应用服务器
CN109725911A (zh) 一种多环境项目部署方法、装置、存储介质及处理器
Brunnert et al. Automatic performance model generation for java enterprise edition (ee) applications
CN105302706B (zh) 应用程序测试方法和装置
CN105164644A (zh) 钩子框架
CN108415821A (zh) 测试报告的生成方法及装置
Ergasheva et al. Metrics of energy consumption in software systems: a systematic literature review
Le Hanh et al. Selecting an efficient OO integration testing strategy: an experimental comparison of actual strategies
CN107678938A (zh) 一种应用程序的调试方法及设备
Bianculli et al. Monitoring conversational web services
US20130125092A1 (en) Generating deployable code from simulation models
Sotiropoulos et al. Practical fault detection in puppet programs
CN110795139A (zh) 客户端批量打包方法、装置、计算机设备和存储介质
US20170262362A1 (en) Systems and methods for benchmark based cross platform service demand prediction
CN108614768A (zh) 一种分布式持续集成方法及装置
Avritzer et al. PPTAM λ: What, where, and how of cross-domain scalability assessment
Samoaa et al. An exploratory study of the impact of parameterization on JMH measurement results in open-source projects
CN109522189A (zh) 一种数据监测方法、装置及系统
Ceccarello et al. Automated generation of model classes for java pathfinder
CN111078225A (zh) 一种热重载方法、装置、电子设备和存储介质
Long et al. Coordinated collaborative testing of shared software components
Wittenburg et al. Running real-world software on simulated wireless sensor nodes
Rodriguez-Prieto et al. Efficient runtime aspect weaving for java applications

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
CB02 Change of applicant information

Address after: 100080 No. 401, 4th Floor, Haitai Building, 229 North Fourth Ring Road, Haidian District, Beijing

Applicant after: BEIJING GRIDSUM TECHNOLOGY Co.,Ltd.

Address before: 100086 Cuigong Hotel, 76 Zhichun Road, Shuangyushu District, Haidian District, Beijing

Applicant before: BEIJING GRIDSUM TECHNOLOGY Co.,Ltd.

CB02 Change of applicant information
RJ01 Rejection of invention patent application after publication

Application publication date: 20181002

RJ01 Rejection of invention patent application after publication