CN109814914A - 持续集成方法、装置和电子设备 - Google Patents
持续集成方法、装置和电子设备 Download PDFInfo
- Publication number
- CN109814914A CN109814914A CN201811618909.8A CN201811618909A CN109814914A CN 109814914 A CN109814914 A CN 109814914A CN 201811618909 A CN201811618909 A CN 201811618909A CN 109814914 A CN109814914 A CN 109814914A
- Authority
- CN
- China
- Prior art keywords
- code
- task
- continuous integrating
- link
- links
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 46
- 238000012360 testing method Methods 0.000 claims description 64
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 claims description 2
- 238000004590 computer program Methods 0.000 description 18
- 238000010586 diagram Methods 0.000 description 15
- 230000006870 function Effects 0.000 description 12
- 238000011161 development Methods 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 5
- 230000007547 defect Effects 0.000 description 4
- 230000002045 lasting effect Effects 0.000 description 4
- 238000012827 research and development Methods 0.000 description 4
- 238000012550 audit Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000005538 encapsulation Methods 0.000 description 2
- 238000007689 inspection Methods 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 239000000758 substrate Substances 0.000 description 2
- 230000005611 electricity Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000002040 relaxant effect Effects 0.000 description 1
Abstract
本公开提供了一种持续集成方法,包括将待处理版本的代码置入持续集成流水线,其中,所述持续集成流水线包括多个环节,在所述代码到达某一环节后,若所述代码成功执行该环节中的任务,则使所述代码通过该环节,在所述代码通过所述持续集成流水线的情况下,记录所述代码通过所述持续集成流水线时经过的各个环节的任务状态。本公开还提供了一种持续集成装置、一种电子设备以及一种计算机可读存储介质。
Description
技术领域
本公开涉及一种持续集成方法、装置和电子设备。
背景技术
持续集成是从编码,构建,代码扫描,安全审计,再到自动化测试的反复持续的过程,研发工程师通过持续集成的自动化流水线得到提交代码缺陷的快速反馈,从而可以在研发过程中更快的发现和修复缺陷。
通常,持续集成流水线的每一个环节都是一个任务的配置,只有当前任务执行通过,才会执行下一个环节的任务,直到完成整个流水线。通过持续集成流水线的代码,是一个可选的发布版本。本发明人发现,由于持续集成流水线中的任务可能被修改,导致难以确定每一个可选的发布版本是否可靠。
发明内容
本公开的一个方面提供了一种持续集成方法,包括将待处理版本的代码置入持续集成流水线,其中,所述持续集成流水线包括多个环节,在所述代码到达某一环节后,若所述代码成功执行该环节中的任务,则使所述代码通过该环节,在所述代码通过所述持续集成流水线的情况下,记录所述代码通过所述持续集成流水线时经过的各个环节的任务状态。
可选地,所述代码成功执行该环节中的任务包括,对所述代码执行特定操作,得到至少一个测试指标的测试值,若所述测试值在阈值范围内,则所述代码成功执行该环节中的任务。
可选地,在所述代码通过所述持续集成流水线之后,所述方法还包括,确定所述代码通过所述持续集成流水线时经过的各个环节的任务状态,在所述各个环节的任务状态满足可靠性规则的情况下,将所述版本确定为可靠版本。
可选地,所述各个环节的任务状态满足可靠性规则包括,获得与所述各个任务环节的任务状态中的测试规则,所述测试规则用于确定所述代码是否成功执行该环节中的任务,获得与所述任务状态对应的基准规则,若所述各个环节中的每一个任务状态中的测试规则满足,能够通过所述测试规则的代码都能够通过与其对应的基准规则,则所述各个环节的任务状态满足可靠性规则。
本公开的另一个方面提供了一种持续集成装置,包括持续集成模块以及状态记录模块。持续集成模块,用于将待处理版本的代码置入持续集成流水线,其中,所述持续集成流水线包括多个环节,在所述代码到达某一环节后,若所述代码成功执行该环节中的任务,则使所述代码通过该环节。状态记录模块,用于在所述代码通过所述持续集成流水线的情况下,记录所述代码通过所述持续集成流水线时经过的各个环节的任务状态。
可选地,所述代码成功执行该环节中的任务包括对所述代码执行特定操作,得到至少一个测试指标的测试值,若所述测试值在阈值范围内,则所述代码成功执行该环节中的任务。
可选地,所述装置还包括查询模块和确定模块。查询模块,用于确定所述代码通过所述持续集成流水线时经过的各个环节的任务状态。确定模块,用于在所述各个环节的任务状态满足可靠性规则的情况下,将所述版本确定为可靠版本。
可选地,所述各个任务环节的测试规则满足可靠性规则包括,获得与所述各个任务环节的任务状态中的测试规则,所述测试规则用于确定所述代码是否成功执行该环节中的任务,获得与所述任务状态对应的基准规则,若所述各个环节中的每一个任务状态中的测试规则满足,能够通过所述测试规则的代码都能够通过与其对应的基准规则,则所述各个环节的任务状态满足可靠性规则。
本公开的另一个方面提供了一种电子设备,包括处理器以及存储器。所述存储器上存储有计算机程序,所述计算机程序被处理器执行时使得处理器执行如上所述的方法。
本公开的另一方面提供了一种计算机可读存储介质,存储有计算机可执行指令,所述指令在被执行时用于实现如上所述的方法。
本公开的另一方面提供了一种计算机程序,所述计算机程序包括计算机可执行指令,所述指令在被执行时用于实现如上所述的方法。
附图说明
为了更完整地理解本公开及其优势,现在将参考结合附图的以下描述,其中:
图1示意性示出了根据本公开实施例的持续集成方法的应用场景的示意图;
图2示意性示出了根据本公开实施例的持续集成方法的流程图;
图3A示意性示出了根据本公开另一实施例的持续集成方法的流程图;
图3B示意性示出了根据本公开实施例的判断各个环节的任务状态满足可靠性规则的流程图;
图4示意性示出了根据本公开实施例的持续集成装置的框图;
图5示意性示出了根据本公开另一实施例的持续集成装置的框图;以及
图6示意性示出了根据本公开实施例的电子设备的框图。
具体实施方式
以下,将参照附图来描述本公开的实施例。但是应该理解,这些描述只是示例性的,而并非要限制本公开的范围。在下面的详细描述中,为便于解释,阐述了许多具体的细节以提供对本公开实施例的全面理解。然而,明显地,一个或多个实施例在没有这些具体细节的情况下也可以被实施。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本公开的概念。
在此使用的术语仅仅是为了描述具体实施例,而并非意在限制本公开。在此使用的术语“包括”、“包含”等表明了所述特征、步骤、操作和/或部件的存在,但是并不排除存在或添加一个或多个其他特征、步骤、操作或部件。
在此使用的所有术语(包括技术和科学术语)具有本领域技术人员通常所理解的含义,除非另外定义。应注意,这里使用的术语应解释为具有与本说明书的上下文相一致的含义,而不应以理想化或过于刻板的方式来解释。
在使用类似于“A、B和C等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有A、B和C中至少一个的系统”应包括但不限于单独具有A、单独具有B、单独具有C、具有A和B、具有A和C、具有B和C、和/或具有A、B、C的系统等)。在使用类似于“A、B或C等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有A、B或C中至少一个的系统”应包括但不限于单独具有A、单独具有B、单独具有C、具有A和B、具有A和C、具有B和C、和/或具有A、B、C的系统等)。
附图中示出了一些方框图和/或流程图。应理解,方框图和/或流程图中的一些方框或其组合可以由计算机程序指令来实现。这些计算机程序指令可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器,从而这些指令在由该处理器执行时可以创建用于实现这些方框图和/或流程图中所说明的功能/操作的装置。本公开的技术可以硬件和/或软件(包括固件、微代码等)的形式来实现。另外,本公开的技术可以采取存储有指令的计算机可读存储介质上的计算机程序产品的形式,该计算机程序产品可供指令执行系统使用或者结合指令执行系统使用。
本公开的实施例提供了一种持续集成方法,包括将待处理版本的代码置入持续集成流水线,其中,所述持续集成流水线包括多个环节,在所述代码到达某一环节后,若所述代码成功执行该环节中的任务,则使所述代码通过该环节,在所述代码通过所述持续集成流水线的情况下,记录所述代码通过所述持续集成流水线时经过的各个环节的任务状态。
图1示意性示出了根据本公开实施例的持续集成方法的应用场景的示意图。需要注意的是,图1所示仅为可以应用本公开实施例的场景的示例,以帮助本领域技术人员理解本公开的技术内容,但并不意味着本公开实施例不可以用于其他设备、系统、环境或场景。
在大型软件的开发过程中,通常由多人组成的团队共同开发,因此版本控制是很重要的环节。如图1所示,多个用户设备110通过网络120相互连接。网络120用以在多个用户设备110之间提供通信链路的介质。网络120可以包括各种连接类型,例如有线、无线通信链路等等。在该系统架构中,往往还可以包括服务器/服务器集群,用以存储和运行多个用户共同开发的程序。
持续集成是指开发团队的成员经常集成他们的工作,将开发的代码定期集成到系统中,从而尽早地发现集成错误,让团队能够更快的开发内聚的软件。持续集成是从编码,构建,代码扫描,安全审计,再到自动化测试的反复持续的过程,研发工程师通过持续集成的自动化流水线得到提交代码缺陷的快速反馈,从而可以在研发过程中更快的发现和修复缺陷,减少假定,减少重复劳动的过程,随时生成可部署的软件,增强项目的可见性,并有利于建立团队对开发产品的信心。
持续集成例如可以采用Jenkins等工具实现,Jenkins可以实现持续集成流水线。开发者只要将新开发的部分加入持续集成流水线,按照持续集成流水线的程序一步一步地配置、测试直至集成完毕。持续集成流水线包括多个环节,例如代码编译、风格检查、单元测试、集成测试、打测试环境包、打正式环境包等。其中,若在某一个环节如果发生错误,则可以提示该代码没有集成成功,需要开发人员检查问题,修改代码,重新集成。
在持续集成流水线的一些环节中,判断是否通过当前环节可以依据预定的规则,例如计算某一测试值是否符合预期(大于某阈值、小于某阈值或在预设区间范围内等)。然而,该些预定的规则可能被开发人员修改,例如,放宽某一(些)环节的规则以使代码能够继续集成。因此,难以保证最终集成的系统中的代码是否可靠。
图2示意性示出了根据本公开实施例的持续集成方法的流程图。
如图2所示,该方法包括操作S210和S220。
在操作S210,将待处理版本的代码置入持续集成流水线,其中,所述持续集成流水线包括多个环节,在所述代码到达某一环节后,若所述代码成功执行该环节中的任务,则使所述代码通过该环节。
在操作S220,在所述代码通过所述持续集成流水线的情况下,记录所述代码通过所述持续集成流水线时经过的各个环节的任务状态。
根据本公开实施例,任务包括如上文所描述的代码编译、风格检查、单元测试、集成测试、打测试环境包、打正式环境包等。
若代码通过了该持续集成流水线,则该代码成为可选的发布版本的一部分,需要确保该代码是可靠的。因此,本公开实施例的方法在代码通过所述持续集成流水线的情况下,记录当前时刻下持续集成流水线的各个环节的任务状态。
根据本公开实施例,所述代码成功执行该环节中的任务包括,对所述代码执行特定操作,得到至少一个测试指标的测试值,若所述测试值在阈值范围内,则所述代码成功执行该环节中的任务。
例如,在某一个环节的任务中,若对代码执行第一测试,得到一测试值X,若X大于一阈值A时,则使代码通过该环节,那么,在代码通过流水线后,需要记录该环节的任务状态为“第一测试的测试值大于阈值A”或者仅记录“A”。
若在某一次集成的过程中,开发人员将阈值由A修改为B(B小于A),并使一段代码通过了该持续集成流水线,则记录的内容可以包括“第一测试的测试值大于阈值B”。显然,由A修改为B放宽了测试要求。在选择发布该版本时,发布者看到当时通过集成流水线的任务状态为“第一测试的测试值大于阈值B”,则可以了解到该版本的可靠程度较低,而谨慎对待。
该方法记录了某个版本的代码在持续集成过程时,持续集成流水线的各个环节的任务状态,使得用户可以根据与代码对应的任务状态判断代码是否可靠。
图3A示意性示出了根据本公开另一实施例的持续集成方法的流程图。
如图3A所示,该方法在前述实施例的基础上,还包括操作S310和S320。
在操作S310,确定所述代码通过所述持续集成流水线时经过的各个环节的任务状态。
在操作S320,在所述各个环节的任务状态满足可靠性规则的情况下,将所述版本确定为可靠版本。
根据本公开实施例,可靠性规则用于检验某一任务状态是否足以保证通过持续集成流水线的代码具有相对的可靠性。可靠性规则可以人工设定。
根据本公开实施例,在代码通过持续集成流水线后,根据可靠性规则检查任务状态,若任务状态满足可靠性规则,则认为该版本是可靠的;若任务状态不满足可靠性规则,则认为该版本不是可靠版本,需要重新集成或选择其他版本发布。
下面结合图3B对本公开实施例的判断各个环节的任务状态满足可靠性规则的方法进行说明。
图3B示意性示出了根据本公开实施例的判断各个环节的任务状态满足可靠性规则的流程图。
如图3B所示,该方法包括操作S321~S323。
在操作S321,获得与所述各个任务环节的任务状态中的测试规则,所述测试规则用于确定所述代码是否成功执行该环节中的任务。
在操作S322,获得与所述任务状态对应的基准规则。
在操作S323,若所述各个环节中的每一个任务状态中的测试规则满足,能够通过所述测试规则的代码都能够通过与其对应的基准规则,则所述各个环节的任务状态满足可靠性规则。
根据本公开实施例,各个任务环节可以预先设定一基准规则,在代码满足基准规则时,认为版本可靠,反之则不可靠。因此,判断通过持续集成流水线的代码是否可靠可以通过判断任务状态与基准规则的比较,若任务状态较基准规则更为宽松,则不能确定该版本是可靠的,若任务状态较基准规则更为严格,则可以确定该版本是可靠的。
根据本公开实施例,若某一任务通过一测试值X的大小判断是否通过该环节,例如,任务状态为,在M<X<N的情况下允许代码通过当前环节,而基准规则为,在P<X<Q的情况下,允许代码通过当前环节,则可以比较M、P、N、Q,若P≤M<N≤Q,则任务状态较基准规则而言更为严格,可以确定该版本为可靠版本,否则不能确定该版本为可靠版本。
该方法可以通过可靠性规则,智能识别通过流水线的版本是否为可靠版本,无需人工干预。
基于同一发明构思,本公开还提供了一种持续集成装置,下面参照图4和图5对本公开实施例的持续集成装置进行说明。
图4示意性示出了根据本公开实施例的持续集成装置400的框图。
如图4所示,该持续集成装置400包括持续集成模块410以及状态记录模块420。该持续集成装置400可以执行上文描述的各种方法。
持续集成模块410,例如执行参考上文图2描述的操作S210,用于将待处理版本的代码置入持续集成流水线,其中,所述持续集成流水线包括多个环节,在所述代码到达某一环节后,若所述代码成功执行该环节中的任务,则使所述代码通过该环节。
状态记录模块420,例如执行参考上文图2描述的操作S220,用于在所述代码通过所述持续集成流水线的情况下,记录所述代码通过所述持续集成流水线时经过的各个环节的任务状态。
根据本公开实施例,所述代码成功执行该环节中的任务包括对所述代码执行特定操作,得到至少一个测试指标的测试值,若所述测试值在阈值范围内,则所述代码成功执行该环节中的任务。
图5示意性示出了根据本公开另一实施例的持续集成装置500的框图。
如图5所示,该装置500在前述实施例的基础上,还包括查询模块510和确定模块520。
查询模块510,例如执行参考上文图3A描述的操作S310,用于确定所述代码通过所述持续集成流水线时经过的各个环节的任务状态。
确定模块520,例如执行参考上文图3A描述的操作S320,用于在所述各个环节的任务状态满足可靠性规则的情况下,将所述版本确定为可靠版本。
根据本公开实施例,所述各个任务环节的测试规则满足可靠性规则包括,获得与所述各个任务环节的任务状态中的测试规则,所述测试规则用于确定所述代码是否成功执行该环节中的任务,获得与所述任务状态对应的基准规则,若所述各个环节中的每一个任务状态中的测试规则满足,能够通过所述测试规则的代码都能够通过与其对应的基准规则,则所述各个环节的任务状态满足可靠性规则。
根据本公开的实施例的模块、子模块、单元、子单元中的任意多个、或其中任意多个的至少部分功能可以在一个模块中实现。根据本公开实施例的模块、子模块、单元、子单元中的任意一个或多个可以被拆分成多个模块来实现。根据本公开实施例的模块、子模块、单元、子单元中的任意一个或多个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、片上系统、基板上的系统、封装上的系统、专用集成电路(ASIC),或可以通过对电路进行集成或封装的任何其他的合理方式的硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,根据本公开实施例的模块、子模块、单元、子单元中的一个或多个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。
例如,持续集成模块410、状态记录模块420、查询模块510和确定模块520中的任意多个可以合并在一个模块中实现,或者其中的任意一个模块可以被拆分成多个模块。或者,这些模块中的一个或多个模块的至少部分功能可以与其他模块的至少部分功能相结合,并在一个模块中实现。根据本公开的实施例,持续集成模块410、状态记录模块420、查询模块510和确定模块520中的至少一个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、片上系统、基板上的系统、封装上的系统、专用集成电路(ASIC),或可以通过对电路进行集成或封装的任何其他的合理方式等硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,持续集成模块410、状态记录模块420、查询模块510和确定模块520中的至少一个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。
图6示意性示出了根据本公开实施例的电子设备600的框图。图6示出的计算机系统仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图6所示,电子设备600包括处理器610和计算机可读存储介质620。该电子设备600可以执行根据本公开实施例的方法。
具体地,处理器610例如可以包括通用微处理器、指令集处理器和/或相关芯片组和/或专用微处理器(例如,专用集成电路(ASIC)),等等。处理器610还可以包括用于缓存用途的板载存储器。处理器610可以是用于执行根据本公开实施例的方法流程的不同动作的单一处理单元或者是多个处理单元。
计算机可读存储介质620,例如可以是非易失性的计算机可读存储介质,具体示例包括但不限于:磁存储装置,如磁带或硬盘(HDD);光存储装置,如光盘(CD-ROM);存储器,如随机存取存储器(RAM)或闪存;等等。
计算机可读存储介质620可以包括计算机程序621,该计算机程序621可以包括代码/计算机可执行指令,其在由处理器610执行时使得处理器610执行根据本公开实施例的方法或其任何变形。
计算机程序621可被配置为具有例如包括计算机程序模块的计算机程序代码。例如,在示例实施例中,计算机程序621中的代码可以包括一个或多个程序模块,例如包括621A、模块621B、……。应当注意,模块的划分方式和个数并不是固定的,本领域技术人员可以根据实际情况使用合适的程序模块或程序模块组合,当这些程序模块组合被处理器610执行时,使得处理器610可以执行根据本公开实施例的方法或其任何变形。
根据本发明的实施例,持续集成模块410、状态记录模块420、查询模块510和确定模块520中的至少一个可以实现为参考图6描述的计算机程序模块,其在被处理器610执行时,可以实现上面描述的相应操作。
本公开还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例中描述的设备/装置/系统中所包含的;也可以是单独存在,而未装配入该设备/装置/系统中。上述计算机可读存储介质承载有一个或者多个程序,当上述一个或者多个程序被执行时,实现根据本公开实施例的方法。
根据本公开的实施例,计算机可读存储介质可以是非易失性的计算机可读存储介质,例如可以包括但不限于:便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
本领域技术人员可以理解,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合,即使这样的组合或结合没有明确记载于本公开中。特别地,在不脱离本公开精神和教导的情况下,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合。所有这些组合和/或结合均落入本公开的范围。
尽管已经参照本公开的特定示例性实施例示出并描述了本公开,但是本领域技术人员应该理解,在不背离所附权利要求及其等同物限定的本公开的精神和范围的情况下,可以对本公开进行形式和细节上的多种改变。因此,本公开的范围不应该限于上述实施例,而是应该不仅由所附权利要求来进行确定,还由所附权利要求的等同物来进行限定。
Claims (10)
1.一种持续集成方法,包括:
将待处理版本的代码置入持续集成流水线,其中,所述持续集成流水线包括多个环节,在所述代码到达某一环节后,若所述代码成功执行该环节中的任务,则使所述代码通过该环节;
在所述代码通过所述持续集成流水线的情况下,记录所述代码通过所述持续集成流水线时经过的各个环节的任务状态。
2.根据权利要求1所述的方法,其中,所述代码成功执行该环节中的任务包括:
对所述代码执行特定操作,得到至少一个测试指标的测试值,若所述测试值在阈值范围内,则所述代码成功执行该环节中的任务。
3.根据权利要求1所述的方法,其中,在所述代码通过所述持续集成流水线之后,所述方法还包括:
确定所述代码通过所述持续集成流水线时经过的各个环节的任务状态;
在所述各个环节的任务状态满足可靠性规则的情况下,将所述版本确定为可靠版本。
4.根据权利要求3所述的方法,其中,所述各个环节的任务状态满足可靠性规则包括:
获得与所述各个任务环节的任务状态中的测试规则,所述测试规则用于确定所述代码是否成功执行该环节中的任务;
获得与所述任务状态对应的基准规则;
若所述各个环节中的每一个任务状态中的测试规则满足,能够通过所述测试规则的代码都能够通过与其对应的基准规则,则所述各个环节的任务状态满足可靠性规则。
5.一种持续集成装置,包括:
持续集成模块,用于将待处理版本的代码置入持续集成流水线,其中,所述持续集成流水线包括多个环节,在所述代码到达某一环节后,若所述代码成功执行该环节中的任务,则使所述代码通过该环节;
状态记录模块,用于在所述代码通过所述持续集成流水线的情况下,记录所述代码通过所述持续集成流水线时经过的各个环节的任务状态。
6.根据权利要求5所述的装置,其中,所述代码成功执行该环节中的任务包括:
对所述代码执行特定操作,得到至少一个测试指标的测试值,若所述测试值在阈值范围内,则所述代码成功执行该环节中的任务。
7.根据权利要求5所述的装置,还包括:
查询模块,用于确定所述代码通过所述持续集成流水线时经过的各个环节的任务状态;
确定模块,用于在所述各个环节的任务状态满足可靠性规则的情况下,将所述版本确定为可靠版本。
8.根据权利要求7所述的装置,其中,所述各个任务环节的测试规则满足可靠性规则包括:
获得与所述各个任务环节的任务状态中的测试规则,所述测试规则用于确定所述代码是否成功执行该环节中的任务;
获得与所述任务状态对应的基准规则;
若所述各个环节中的每一个任务状态中的测试规则满足,能够通过所述测试规则的代码都能够通过与其对应的基准规则,则所述各个环节的任务状态满足可靠性规则。
9.一种电子设备,包括:
处理器;以及
存储器,其上存储有计算机可读指令,所述指令被处理器执行时使得处理器执行如权利要求1~4中任意一项所述的方法。
10.一种计算机可读存储介质,其上存储有计算机可读指令,所述指令被处理器执行时使得处理器执行如权利要求1~4中任意一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811618909.8A CN109814914A (zh) | 2018-12-27 | 2018-12-27 | 持续集成方法、装置和电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811618909.8A CN109814914A (zh) | 2018-12-27 | 2018-12-27 | 持续集成方法、装置和电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109814914A true CN109814914A (zh) | 2019-05-28 |
Family
ID=66602579
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811618909.8A Pending CN109814914A (zh) | 2018-12-27 | 2018-12-27 | 持续集成方法、装置和电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109814914A (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130212562A1 (en) * | 2012-02-09 | 2013-08-15 | Sonatype, Inc. | System and method of providing real-time updates related to in-use artifacts in a software development environment |
CN104185840A (zh) * | 2012-04-30 | 2014-12-03 | 惠普发展公司,有限责任合伙企业 | 持续部署流水线测试的优先化 |
CN107463375A (zh) * | 2017-07-18 | 2017-12-12 | 上海斐讯数据通信技术有限公司 | 一种检测源代码的方法和系统 |
CN107621944A (zh) * | 2017-09-22 | 2018-01-23 | 天翼电子商务有限公司 | 基于自动化运维的持续集成流水线系统及其方法 |
-
2018
- 2018-12-27 CN CN201811618909.8A patent/CN109814914A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130212562A1 (en) * | 2012-02-09 | 2013-08-15 | Sonatype, Inc. | System and method of providing real-time updates related to in-use artifacts in a software development environment |
CN104185840A (zh) * | 2012-04-30 | 2014-12-03 | 惠普发展公司,有限责任合伙企业 | 持续部署流水线测试的优先化 |
CN107463375A (zh) * | 2017-07-18 | 2017-12-12 | 上海斐讯数据通信技术有限公司 | 一种检测源代码的方法和系统 |
CN107621944A (zh) * | 2017-09-22 | 2018-01-23 | 天翼电子商务有限公司 | 基于自动化运维的持续集成流水线系统及其方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104123219B (zh) | 测试软件的方法和设备 | |
Kellner et al. | Software process modeling example problem | |
US9454466B2 (en) | Explaining partially illegal combinations in combinatorial models | |
US20160299838A1 (en) | Utilizing semantic clusters to Predict Software defects | |
US20140033174A1 (en) | Software bug predicting | |
US20150193331A1 (en) | Systems and methods for processing software application metadata associated with a software application | |
CN113228100A (zh) | 成像模态智能发现维护系统和方法 | |
CN108021505B (zh) | 数据上线方法、装置和计算机设备 | |
CN104090776A (zh) | 一种软件开发方法及系统 | |
Tosun et al. | Practical considerations in deploying ai for defect prediction: a case study within the turkish telecommunication industry | |
CN103294594A (zh) | 一种基于测试的静态分析误报消除方法 | |
US9471454B2 (en) | Performing automated system tests | |
CN110309926A (zh) | 通过飞行器数据自动创建飞行器维护记录的系统和方法 | |
US20090187892A1 (en) | Apparatus and program for test case generation | |
CN108536580A (zh) | 利用轻量级设备验证协议测试设备的系统和方法 | |
CN113196315A (zh) | 成像模态保养维护包系统和方法 | |
US9274933B2 (en) | Pretest setup planning | |
CN112612681B (zh) | 基于容器的深度学习模型测试评估全流程自动管理方法 | |
CN110188023A (zh) | 资源健康检查方法和资源健康检查装置 | |
KR101591300B1 (ko) | 원전 기기의 인간 공학 적합성 평가를 위한 장치 및 방법 | |
CN104969083A (zh) | 用于动态扫描调度的系统和方法 | |
CN105653445B (zh) | 一种满足do‑178c测试结果的实现方法 | |
US8601418B1 (en) | Instruction-by-instruction checking on acceleration platforms | |
CN109814914A (zh) | 持续集成方法、装置和电子设备 | |
US20140143745A1 (en) | Techniques for segmenting of hardware trace and verification of individual trace segments |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190528 |
|
RJ01 | Rejection of invention patent application after publication |