CN113127036B - 软件开发系统、代码的持续集成方法、装置和介质 - Google Patents

软件开发系统、代码的持续集成方法、装置和介质 Download PDF

Info

Publication number
CN113127036B
CN113127036B CN202110412697.3A CN202110412697A CN113127036B CN 113127036 B CN113127036 B CN 113127036B CN 202110412697 A CN202110412697 A CN 202110412697A CN 113127036 B CN113127036 B CN 113127036B
Authority
CN
China
Prior art keywords
version control
control database
test
code
result
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.)
Active
Application number
CN202110412697.3A
Other languages
English (en)
Other versions
CN113127036A (zh
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.)
Spreadtrum Communications Shanghai Co Ltd
Original Assignee
Spreadtrum Communications Shanghai 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 Spreadtrum Communications Shanghai Co Ltd filed Critical Spreadtrum Communications Shanghai Co Ltd
Priority to CN202110412697.3A priority Critical patent/CN113127036B/zh
Publication of CN113127036A publication Critical patent/CN113127036A/zh
Application granted granted Critical
Publication of CN113127036B publication Critical patent/CN113127036B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • 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
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

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

Abstract

本发明提供了一种软件开发系统、持续集成方法、装置和介质,该软件开发系统包括PC、持续集成服务和测试服务器,其中PC用于响应于代码的开发操作,从辅版本控制数据库中复制源代码至PC中,对源代码进行编辑,并将更新的代码提交至辅版本控制数据库中。持续集成服务器,用于监测到辅版本控制数据库中源代码发生变更时,提取和构建代码,生成第一构建结果。测试服务器,用于对辅版本控制数据库中构建后的代码进行单元测试和集成测试,并生成第一测试结果。当第一构建结果为构建成功和第一测试结果为测试成功时,持续集成服务器将更新的代码集成至主版本控制数据库。该方法通过预先在辅版本控制数据库中进行版本构建的方式,提高集成构建的成功率。

Description

软件开发系统、代码的持续集成方法、装置和介质
技术领域
本发明涉及软件集成技术领域,尤其涉及一种软件开发系统、代码的持续集成方法、装置和介质。
背景技术
对于大规模的软件开发项目,由于功能复杂、涉及的模块较多,所以采用持续集成直接进行自动化构和用例测试时,经常会出现某个模块提交的代码存在异常的情况,导致持续集成环境无法进行自动化构建和测试,需要进行Bug(计算机程序漏洞)分析以及代码的回退处理,从而导致持续集成构建效率大大减低。
持续集成通常是指软件发布流程的构建或集成阶段,即团队开发成员经常集成他们的工作,频繁的将代码变更合并到一个版本控制数据库中,之后服务器对版本控制数据库中的代码自动运行构建和用例测试。目前通用的持续集成存在构建成功率低,尤其是大规模的软件开发项目,持续集成平台经常处于瘫痪状态。
因此,亟需一种代码持续集成方法用以解决上述问题。
发明内容
本发明的目的在于提供一种软件开发系统、代码持续集成方法、装置和介质,该软件开发系统能够改善代码持续集成过程中构建成功率低的问题。
为实现上述目的,本发明公开了一种软件开发系统,包括:个人电脑PC、持续集成服务器和测试服务器;
所述PC,用于接收来自开发者输入的代码开发操作,响应于所述代码开发操作,从辅版本控制数据库中复制源代码至所述PC中,对所述源代码进行编辑,并将更新的代码提交至所述辅版本控制数据库中;
所述持续集成服务器,用于在监测到所述辅版本控制数据库中源代码发生变更时,提取所述辅版本控制数据库中更新的代码,对所述辅版本控制数据库中更新的代码进行构建,生成第一构建结果;
所述测试服务器,用于对所述辅版本控制数据库中构建后的代码进行单元测试和集成测试,并生成第一测试结果;
所述持续集成服务器,还用于获取所述第一测试结果,当所述第一构建结果为构建成功,和所述第一测试结果为测试成功时,将所述更新的代码集成至主版本控制数据库;
其中,所述辅版本控制数据库包括所述主版本控制数据库中的设定节点对应的源代码,所述设定节点对应的源代码已成功完成版本构建和用例测试。
本发明公开的一种软件开发系统的有益效果在于:从辅版本控制数据库中复制源代码至PC中,对源代码进行编辑,并将更新的代码提交至所述辅版本控制数据库中,采用持续集成服务器对代码进行构建,在通过测试服务器进行测试,并生成第一构建结果和第一测试结果,当第一构建结果为构建成功,和第一测试结果为测试成功时,将代码同步至主版本控制数据库中,大大提高了持续集成的构建成功率,缩短了持续集成的时间。
优选地,所述持续集成服务器,还用于:
向所述PC发送通知消息,所述通知消息用于通知开发者所述第一构建结果和所述第一测试结果。其有益效果在于:通过实时的反馈构建结果和测试结果,便于开发者及时了解构建和测试情况,对异常代码及时修改。
优选地,所述持续集成服务器在将所述更新的代码集成至主版本控制数据库之后,还用于在监测到所述主版本控制数据库中源代码发生变更时,提取所述主版本控制数据库中更新的代码,对所述主版本控制数据库中更新的代码进行构建,并生成第二构建结果。其有益效果在于:提高了代码构建的成功率。
优选地,所述测试服务器,还用于对所述主版本控制数据库中构建后的代码进行单元测试和集成测试,并生成所述代码的第二测试结果。
优选地,所述持续集成服务器,还用于:
对所述主版本控制数据库中所述更新的代码进行静态检测。其有益效果在于:通过持续集成服务器对所述主版本控制数据库中所述更新的代码进行静态检测,进一步提高主版本控制数据库中所述更新的代码的构建成功率。
一种代码的持续集成方法,该方法包括:
在监测到辅版本控制数据库中源代码发生变更时,提取所述辅版本控制数据库中更新的代码;
对所述辅版本控制数据库中更新的代码进行构建,生成第一构建结果;
从测试服务器获取所述辅版本控制数据库中构建后的代码的第一测试结果,所述第一测试结果指的是对所述辅版本控制数据库中构建后代码进行单元测试和集成测试的结果;
当所述第一构建结果为构建成功和所述第一测试结果为测试成功时,将所述辅版本控制数据库中更新的代码集成至所述主版本控制数据库;
其中,所述辅版本控制数据库包括所述主版本控制数据库中的设定节点对应的源代码,所述设定节点对应的源代码已成功完成版本构建和用例测试。
本发明公开的一种代码的持续集成方法的有益效果在于:采用持续集成服务器和测试服务器对更新的代码进行构建和测试,并生成第一构建结果和第一测试结果,当第一构建结果为构建成功,和第一测试结果为测试成功时,将辅版本控制数据库中更新的代码集成至主版本控制数据库中,从而大大提高了持续集成中代码的构建成功率。
优选地,在监测到所述主版本控制数据库中源代码发生变更时,提取所述主版本控制数据库中更新的代码;
对所述主版本控制数据库中更新的代码进行构建,并生成第二构建结果;
从所述测试服务器获取所述主版本控制数据库中构建后的代码的第二测试结果,所述第二测试结果指的是对所述主版本控制数据库中构建后代码进行单元测试和集成测试的结果。
优选地,向所述PC发送通知消息,所述通知消息用于通知开发者所述第一构建结果、所述第一测试结果、所述第二构建结果和所述第二测试结果。其有益效果在于:实时的反馈构建结果和测试结果,便于开发者及时了解构建和测试情况,对异常代码及时修改。
一种代码的持续集成装置,包括监测单元、提取单元、构建单元、获取单元和集成单元,其中:
所述监测单元,用于监测辅版本控制数据库中源代码是否发生变更;
所述提取单元,用于在所述监测单元监测到辅版本控制数据库中源代码发生变更时,提取所述辅版本控制数据库中更新的代码;
所述构建单元,用于对所述辅版本控制数据库中更新的代码进行构建,生成第一构建结果;
所述获取单元,用于从测试服务器获取所述辅版本控制数据库中构建后的代码的第一测试结果,所述第一测试结果指的是对所述辅版本控制数据库中构建后代码进行单元测试和集成测试的结果;
所述集成单元,用于当所述第一构建结果为构建成功和所述第一测试结果为测试成功时,将所述辅版本控制数据库中更新的代码集成至所述主版本控制数据库;
其中,所述辅版本控制数据库包括所述主版本控制数据库中的设定节点对应的源代码,所述设定节点对应的源代码已成功完成版本构建和用例测试。
本发明公开的一种代码的持续集成装置有益效果在于:提高了代码持续集成过程中的构建成功率。
优选地,所述监测单元,还用于监测所述主版本控制数据库中源代码是否发生变更;
所述构建单元,还用于对所述主版本控制数据库中更新的代码进行构建,并生成第二构建结果;
所述获取单元,还用于从所述测试服务器获取所述主版本控制数据库中构建后的代码的第二测试结果,所述第二测试结果指的是对所述主版本控制数据库中构建后代码进行单元测试和集成测试的结果。
优选地,所述装置还包括发送单元;
所述发送单元,用于向所述PC发送通知消息,所述通知消息用于通知开发者所述第一构建结果、所述第一测试结果、所述第二构建结果和所述第二测试结果。
一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述代码的持续集成方法。
附图说明
图1A为现有技术中代码的持续集成的流程示意图;
图1B为现有技术中代码的持续集成系统的示意图
图2为本发明公开的一实施例中软件开发系统的系统图;
图3为本发明实施例中代码的持续集成的流程示意图;
图4为本发明实施例中的代码的持续集成方法的流程示意图;
图5为本发明实施例中的代码的持续集成的另一个流程示意图;
图6为本发明实施例中代码的持续集成装置的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。除非另外定义,此处使用的技术术语或者科学术语应当为本发明所属领域内具有一般技能的人士所理解的通常意义。本文中使用的“包括”等类似的词语意指出现该词前面的元件或者物件涵盖出现在该词后面列举的元件或者物件及其等同,而不排除其他元件或者物件。
持续集成的主要目标是更快发现并解决缺陷,提高软件质量,并减少验证和发布新软件更新所需的时间。通常,在项目开发未采用持续集成服务这一技术之前,该项目的开发人员可能会孤立地对代码开发工作很长一段时间,只有在项目成员的开发工作完成后,才会将项目成员的更改后的代码合并到代码的数据库中。由于不同的开发人员的开发水平参差不齐,而且开发人员之间的代码修改也可能发生冲突,这使得代码合并到代码的数据库这一动作会频繁遇到报错等问题,代码合并变得困难而且耗时,这些因素导致很难及时向客户交付成果。目前,在项目开发普遍采用持续集成服务这一技术之后,开发人员可以使用诸如Git/svn之类的版本控制系统,如图1A所示,项目组的开发人员分别从代码的数据库中签出(check out)代码到PC本地,然后开发人员修改PC本地的代码,完成研发本地验证后,将更新后的代码签入(check in)至代码的数据库。持续集成服务会对更新后的代码进行定时构建、静态检查以及运行测试用例,最大可能的及时发现软件缺陷。如图1B所示,目前项目组的开发人员将修改代码提交到共享代码仓库,然后持续集成服务器完成代码构建和测试,持续集成服务器会向团队发送构建结果通知。但是,目前的集成方式的缺点是代码的构建成功率低。尤其是大规模的软件开发项目,持续集成平台经常处于瘫痪状态
针对现有技术存在的问题,本发明的实施例提供了一种软件开发系统,参考图2所示,所述软件开发系统包括一台或多台个人电脑(personal computer,PC)201、持续集成服务器204和测试服务器205,该系统还包括主版本控制数据库203和辅版本控制数据库202。
其中,一台或多台PC是项目组的开发人员的设备,开发者可以在PC201上完成代码的修改、本地模拟验证等操作。持续集成服务器204,例如可以是CL服务器或jenkins服务器,可以用于监测代码是否发生变更、执行编码(build)、构建(svn)或集成(pclint)等操作。测试服务器205用于对构建后的代码进行自动化测试。
该辅版本控制数据库202包括该主版本控制数据库203中设定节点对应的源代码,并且该设定节点对应的源代码已成功完成版本构建和用例测试。示例性地,如图3所示,软件模块首先基于主干(对应主版本控制数据库)的第一设定结点进行代码构建,待构建成功后,代码提交到分支,得到辅版本控制数据库。
需要说明的是,该主版本控制数据库202和辅版本控制数据库203可以分别存储在不同的设备中,也可以均存储在同一设备中。存储该主版本控制数据库203的设备可以是电脑PC、持续集成服务器204或测试服务器205中的任意一个或多个,也可以是除此之外的其它设备;同样地,存储辅版本控制数据库202的设备可以是电脑PC、持续集成服务器204或测试服务器205中的任意一个或多个,也可以是除此之外的其它设备。
所述PC用于接收来自开发者输入的代码开发操作,并响应于代码开发操作,从辅版本控制数据库中复制源代码至PC中,对源代码进行编辑,并将更新的代码提交至辅版本控制数据库中,当持续集成服务器检测到辅版本控制数据库中源代码发生变更时,提取辅版本控制数据库中更新的代码,对所述辅版本控制数据库中更新的代码进行构建,生成第一构建结果。
然后,测试服务器对辅版本控制数据库中构建后的代码进行单元测试和集成测试,并生成第一测试结果。基于第一测试结果和第一构建结果,当第一构建结果为构建成功,和第一测试结果为测试成功时,持续集成服务器将辅版本控制数据库中更新的代码集成至主版本控制数据库。
需要说明的是,辅版本控制数据库包括主版本控制数据库中的设定节点对应的源代码,且设定节点对应的源代码已成功完成版本构建和用例测试。
优选地,持续集成服务器还用于向PC发送通知消息,用于通知开发者第一构建结果和第一测试结果,便于开发者及时了解构建和测试的情况,查找出异常代码及时修改。
进一步的,持续集成服务器在将辅版本控制数据库中更新的代码集成至主版本控制数据库之后,还用于监测主版本控制数据库中源代码是否发生变更,若发生变更,提取主版本控制数据库中更新的代码,对主版本控制数据库中更新的代码进行构建,并生成第二构建结果。
当测试服务器检测到主版本控制数据库中更新的代码完成构建后,对构建后的代码进行单元测试和集成测试,并生成主版本控制数据库中更新后代码的第二测试结果。
可以理解的是,所述第一测试结果、第二测试结果、第一构建结果和第二构建结果是为了区分主版本控制数据库和辅版本控制数据库中代码的构建情况和测试情况。
优选地,为了进一步提高主版本控制数据库中所述更新的代码的构建成功率,采用持续集成服务器对所述主版本控制数据库中所述更新的代码进行静态检测。
基于上述开发系统,本发明提供一种代码持续集成方法,参考图4所示,该方法可以由在上述实施例中的软件发开系统中的持续集成服务器204来执行,该代码的持续集成的方法包括:
S401,持续集成服务器204在监测到该辅版本控制数据库中源代码发生变更时,提取辅版本控制数据库中更新的代码。
S402,持续集成服务器204对辅版本控制数据库中更新的代码进行构建,生成第一构建结果。
S403,持续集成服务器204从测试服务器获取辅版本控制数据库中构建后的代码的第一测试结果。
该步骤中,第一测试结果指的是测试服务器205对辅版本控制数据库中构建后代码进行单元测试和集成测试的结果。
S404,当第一构建结果为构建成功和第一测试结果为测试成功时,持续集成服务器204将辅版本控制数据库中更新的代码集成至主版本控制数据库。
上述方法中,采用持续集成服务器和测试服务器对更新的代码进行构建和测试,并生成第一构建结果和第一测试结果,当第一构建结果为构建成功,和第一测试结果为测试成功时,将辅版本控制数据库中更新的代码集成至主版本控制数据库中,从而大大提高了持续集成中代码的构建成功率。
优选地,持续集成服务器在监测到主版本控制数据库中源代码发生变更时,提取主版本控制数据库中更新的代码,并对主版本控制数据库中更新的代码进行构建,并生成第二构建结果。接着测试服务器对主版本控制数据库中构建后的代码进行单元测试和集成测试,形成第二测试结果。
进一步的,通过持续集成服务器将用于通知开发者第一构建结果、第一测试结果、第二构建结果和第二测试结果。
实时的反馈构建结果和测试结果,便于开发者及时了解构建和测试情况,对异常代码及时修改。
针对上述代码持续集成方法,本申请进一步结合图2所示的软件开发系统,对各个设备之间交互过程进行阐述,如图5所示,该交互过程包括如下步骤:
步骤a,一台或多台PC201接收开发人员的开发操作,响应于该开发操作,从辅版本控制数据库202中复制源代码至PC201中,对源代码进行编辑,并将更新的代码提交至辅版本控制数据库202中。
步骤b,持续集成服务器204在监测到辅版本控制数据库202中源代码发生变更时,提取辅版本控制数据库202中更新的代码,对辅版本控制数据库202中更新的代码进行构建,生成第一构建结果。
步骤c,测试服务器205对辅版本控制数据库202中构建后的代码进行单元测试和集成测试,并生成代码的第一测试结果。
步骤d,持续集成服务器204获取所述第一测试结果,当第一构建结果为构建成功,和第一测试结果为测试成功时,将更新的代码集成至主版本控制数据库203。
步骤e,持续集成服务器204向PC201发送通知消息,所述通知消息用于通知开发者所述第一构建结果和所述第一测试结果。
示例性地,如图5所示,分支通过预先在该分支501内进行Check Out代码503(代码更新核实查询),然后,若存在问题开发者就修改代码504,修改完成后,进行本地验证505,查看是否存在异常代码,若没有问题就Check In代码Patch506(将修改后的代码记录在补丁中),然后持续进行代码的版本构建507,当构建成功后,再将代码集成至该主干500中,然后该主干500在进行代码的定时构建508,直至构建成功,大大提高了代码构建的成功率。
在一种可能的实施中,持续集成服务器还可以在将更新的代码集成至主版本控制数据库之后,还用于在监测到主版本控制数据库中源代码发生变更时,提取主版本控制数据库中更新的代码,对主版本控制数据库中更新的代码进行构建,并生成第二构建结果。
在一种可能的实施中,测试服务器205还用于对所述主版本控制数据库中构建后的代码进行单元测试和集成测试,并生成所述代码的第二测试结果。
在实际开发工作中,多个开发者可以在各自的PC上从辅版本控制数据库中复制源代码到PC本地,然后多个开发者可以同时进行代码开发操作,之后均将更新的该代码提交至辅版本控制数据库中,完成辅版本控制数据库中更新的代码构建和持续集成。
本实施例中,参考图2所示,在一级构建环境中,通过在PC201对源代码进行编辑,并将更新的代码提交至该辅版本控制数据库202中,采用持续集成服务器204和测试服务器205对辅版本控制数据库202中更新的代码进行构建和测试,并生成第一构建结果和第一测试结果,并时刻反馈第一构建结果和第一测试结果至PC201,当该第一构建结果为构建成功,和该第一测试结果为测试成功,将辅版本控制数据库202中变更的代码自动同步至主版本控制数据库中。且持续集成服务器204和测试服务器205同时对主版本控制数据库203中变更的代码进行构建和测试,即形成一个二级构建环境。通过双级构建的方法,大大提高了代码的持续集成的构建成功率。
在本发明公开的另一个实施例中,一种代码持续集成装置,参考图6所示,所述装置包括监测单元601、提取单元602、构建单元603、获取单元604和集成单元605。
当PC接收来自开发者输入的代码开发操作,并响应于代码开发操作,从辅版本控制数据库中复制源代码至PC中,对源代码进行编辑,并将更新的代码提交至辅版本控制数据库中,此时监测单元601监测到辅版本控制数据库中源代码发生变更,然后提取单元602将辅版本控制数据库中发生变更的代码提取到持续集成服务器中,接着构建单元603对辅版本控制数据库中更新的代码进行构建,并生成第一构建结果,此时测试服务器对辅版本控制数据库中构建后的代码进行单元测试和集成测试,并得到第一测试结果。
接着,获取单元604从测试服务器获取辅版本控制数据库中构建后的代码的第一测试结果,当所述第一构建结果为构建成功和所述第一测试结果为测试成功时,集成单元605将辅版本控制数据库中更新的代码集成至主版本控制数据库中,此时持续集成服务器和测试服务器继续对主版本控制数据库中变更的代码进行构建和测试。
需要说明的是,辅版本控制数据库包括主版本控制数据库中的设定节点对应的源代码,且设定节点对应的源代码已成功完成版本构建和用例测试。
优选地,还包括发送单元606,发送单元606将第一构建结果、第一测试结果、第二构建结果和第二测试结果实时的发送至PC中,用于通知开发者构建和测试情况。
在本发明公开的另一个实施例中,在上述实施例代码的持续集成方法的基础上,一种计算机可读存储介质,计算机可读存储介质内存储有计算机程序,计算机程序被处理器执行时实现上述实施例代码的持续集成方法。
虽然在上文中详细说明了本发明的实施方式,但是对于本领域的技术人员来说显而易见的是,能够对这些实施方式进行各种修改和变化。但是,应理解,这种修改和变化都属于权利要求书中所述的本发明的范围和精神之内。而且,在此说明的本发明可有其它的实施方式,并且可通过多种方式实施或实现。

Claims (11)

1.一种软件开发系统,其特征在于,包括:个人电脑PC、持续集成服务器和测试服务器;
所述PC,用于接收来自开发者输入的代码开发操作,响应于所述代码开发操作,从辅版本控制数据库中复制源代码至所述PC中,对所述源代码进行编辑,并将更新的代码提交至所述辅版本控制数据库中;
所述持续集成服务器,用于在监测到所述辅版本控制数据库中源代码发生变更时,提取所述辅版本控制数据库中更新的代码,对所述辅版本控制数据库中更新的代码进行构建,生成第一构建结果;
所述测试服务器,用于对所述辅版本控制数据库中构建后的代码进行单元测试和集成测试,并生成第一测试结果;
所述持续集成服务器,还用于获取所述第一测试结果,当所述第一构建结果为构建成功,和所述第一测试结果为测试成功时,将所述更新的代码集成至主版本控制数据库;
其中,所述辅版本控制数据库包括所述主版本控制数据库中的设定节点对应的源代码,所述设定节点对应的源代码已成功完成版本构建和用例测试;
所述持续集成服务器,还用于:
向所述PC发送通知消息,所述通知消息用于通知开发者所述第一构建结果和所述第一测试结果。
2.根据权利要求1所述的系统,其特征在于,
所述持续集成服务器在将所述辅版本控制数据库中更新的代码集成至主版本控制数据库之后,还用于在监测到所述主版本控制数据库中源代码发生变更时,提取所述主版本控制数据库中更新的代码,对所述主版本控制数据库中更新的代码进行构建,并生成第二构建结果。
3.根据权利要求2所述的系统,其特征在于,
所述测试服务器,还用于对所述主版本控制数据库中构建后的代码进行单元测试和集成测试,并生成所述代码的第二测试结果。
4.根据权利要求3所述的系统,其特征在于,所述持续集成服务器,还用于:
对所述主版本控制数据库中更新的代码进行静态检测。
5.一种代码的持续集成方法,其特征在于,该方法包括:
在监测到辅版本控制数据库中源代码发生变更时,提取所述辅版本控制数据库中更新的代码;
对所述辅版本控制数据库中更新的代码进行构建,生成第一构建结果;
从测试服务器获取所述辅版本控制数据库中构建后的代码的第一测试结果,所述第一测试结果指的是对所述辅版本控制数据库中构建后代码进行单元测试和集成测试的结果;
当所述第一构建结果为构建成功和所述第一测试结果为测试成功时,将所述辅版本控制数据库中更新的代码集成至主版本控制数据库中;
其中,所述辅版本控制数据库包括所述主版本控制数据库中的设定节点对应的源代码,所述设定节点对应的源代码已成功完成版本构建和用例测试;
向PC发送通知消息,所述通知消息用于通知开发者所述第一构建结果、所述第一测试结果。
6.根据权利要求5所述的方法,其特征在于,还包括:
在监测到所述主版本控制数据库中源代码发生变更时,提取所述主版本控制数据库中更新的代码;
对所述主版本控制数据库中更新的代码进行构建,并生成第二构建结果;
从所述测试服务器获取所述主版本控制数据库中构建后的代码的第二测试结果,所述第二测试结果指的是对所述主版本控制数据库中构建后代码进行单元测试和集成测试的结果。
7.根据权利要求6所述的方法,其特征在于:
向PC发送通知消息,所述通知消息用于通知开发者所述第二构建结果和所述第二测试结果。
8.一种代码的持续集成装置,其特征在于,包括监测单元、提取单元、构建单元、获取单元、发送单元和集成单元,其中:
所述监测单元,用于监测辅版本控制数据库中源代码是否发生变更;
所述提取单元,用于在所述监测单元监测到辅版本控制数据库中源代码发生变更时,提取所述辅版本控制数据库中更新的代码;
所述构建单元,用于对所述辅版本控制数据库中更新的代码进行构建,生成第一构建结果;
所述获取单元,用于从测试服务器获取所述辅版本控制数据库中构建后的代码的第一测试结果,所述第一测试结果指的是对所述辅版本控制数据库中构建后代码进行单元测试和集成测试的结果;
所述集成单元,用于当所述第一构建结果为构建成功和所述第一测试结果为测试成功时,将所述辅版本控制数据库中更新的代码集成至主版本控制数据库;
其中,所述辅版本控制数据库包括所述主版本控制数据库中的设定节点对应的源代码,所述设定节点对应的源代码已成功完成版本构建和用例测试;
所述发送单元,用于向PC发送通知消息,所述通知消息用于通知开发者所述第一构建结果、所述第一测试结果。
9.根据权利要求8所述的装置,其特征在于,
所述监测单元,还用于监测所述主版本控制数据库中源代码是否发生变更;
所述构建单元,还用于对所述主版本控制数据库中更新的代码进行构建,并生成第二构建结果;
所述获取单元,还用于从所述测试服务器获取所述主版本控制数据库中构建后的代码的第二测试结果,所述第二测试结果指的是对所述主版本控制数据库中构建后代码进行单元测试和集成测试的结果。
10.根据权利要求9所述的装置,其特征在于,所述发送单元,用于向PC发送通知消息,所述通知消息用于通知开发者所述第二构建结果和所述第二测试结果。
11.一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,其特征在于,所述计算机程序被处理器执行时,实现权利要求5至7中任一项所述的方法。
CN202110412697.3A 2021-04-16 2021-04-16 软件开发系统、代码的持续集成方法、装置和介质 Active CN113127036B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110412697.3A CN113127036B (zh) 2021-04-16 2021-04-16 软件开发系统、代码的持续集成方法、装置和介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110412697.3A CN113127036B (zh) 2021-04-16 2021-04-16 软件开发系统、代码的持续集成方法、装置和介质

Publications (2)

Publication Number Publication Date
CN113127036A CN113127036A (zh) 2021-07-16
CN113127036B true CN113127036B (zh) 2023-04-11

Family

ID=76776962

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110412697.3A Active CN113127036B (zh) 2021-04-16 2021-04-16 软件开发系统、代码的持续集成方法、装置和介质

Country Status (1)

Country Link
CN (1) CN113127036B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114328185A (zh) * 2021-11-30 2022-04-12 苏州浪潮智能科技有限公司 持续集成信息聚合系统

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105404519A (zh) * 2015-12-07 2016-03-16 青岛海信电器股份有限公司 一种版本控制方法、代码测试方法及系统
CN107450933A (zh) * 2017-08-18 2017-12-08 郑州云海信息技术有限公司 一种软件持续集成方法和系统
CN111338632A (zh) * 2018-12-19 2020-06-26 中国移动通信集团湖南有限公司 一种云平台镜像构建方法和装置
CN110532189B (zh) * 2019-07-18 2022-11-01 中国人民财产保险股份有限公司 一种持续集成系统、方法及装置
US11151024B2 (en) * 2019-08-09 2021-10-19 International Business Machines Corporation Dynamic automation of DevOps pipeline vulnerability detecting and testing

Also Published As

Publication number Publication date
CN113127036A (zh) 2021-07-16

Similar Documents

Publication Publication Date Title
EP3842948B1 (en) Method and apparatus for testing edge computing, device, and readable storage medium
US9311064B1 (en) Systems and methods for automated centralized build/merge management
EP4006731B1 (en) Method, apparatus, device, storage medium and computer program product for testing code
CN105740093A (zh) 备份方法、环境更新预先检测方法及其系统
CN108459951B (zh) 测试方法和装置
CN112214411B (zh) 一种容灾系统测试方法、装置、设备及存储介质
CN110727575B (zh) 一种信息处理方法、系统、装置、以及存储介质
CN112256593B (zh) 一种程序处理方法、装置、计算机设备和可读存储介质
CN111309343A (zh) 一种开发部署方法及装置
CN112199355A (zh) 数据迁移方法、装置、电子设备及存储介质
CN113127036B (zh) 软件开发系统、代码的持续集成方法、装置和介质
CN111367531B (zh) 代码处理方法及装置
CN109299124B (zh) 用于更新模型的方法和装置
CN112100070A (zh) 版本缺陷的检测方法、装置、服务器及存储介质
CN111367934B (zh) 数据一致性的检验方法、装置、服务器和介质
CN117291517A (zh) 审批流程的构建方法及装置
CN116149713A (zh) 一种树型异构网络下的各级设备的程序升级方法及装置
CN112765188B (zh) 配置信息处理方法、配置管理系统、电子设备及存储介质
CN114647531A (zh) 故障解决方法、故障解决系统、电子设备及存储介质
CN114996246A (zh) 一种基于NiFi组件的表多个字段校验的数据清洗方法
JP2022108452A (ja) プログラム管理装置及びプログラム管理方法
CN101242201A (zh) 一种主备系统维护的方法、系统和装置
CN115509544B (zh) Nvme持续集成方法、装置、可读存储介质及电子设备
JP2000347779A (ja) 監視制御システムの画面構成装置
CN117171364B (zh) 运维知识图谱更新方法及装置

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
GR01 Patent grant
GR01 Patent grant