一种三节点BIOS持续集成平台及方法与流程

文档序号:15399588发布日期:2018-09-11 17:09阅读:166来源:国知局

本发明涉及固件工程领域,特别涉及一种三节点bios持续集成平台及方法。



背景技术:

固件工程是把软件工程的概念、理论和经验运用于微程序设计,固件的形式化模型与实现微指令的微程序硬件密切相关;固件工程主要包括:微程序的需求定义和说明;微程序的设计和实现;微程序的测试、排错和验证;微程序的维护等;固件工程要求微程序硬件应是规整的和易于描述的,能把固件和软件有机地联系成一个整体,并使二者具有公共术语。

现有技术环境中,固件开发环境远远落后于软件开发环境,实用的微程序高级语言和测试、调试工具尚都缺乏,固件工程领域自动化程度较低,针对服务器固件bios(baseinput/outputsystem,基本输入输出系统)传统集成测试方式依赖研发测试人员进行手工编译,烧录部署,人工测试或者手动执行测试脚本,耗费较大人力,而且问题反馈周期较长。

因此,提高固件领域自动化程度,寻求一种高效、及时的bios持续集成测试系统是非常必要的。



技术实现要素:

有鉴于此,本发明的目的在于提供一种三节点bios持续集成平台及方法,实现自动化测试,加快测试效率,提高测试速度。其具体方案如下:

一种三节点bios持续集成平台,包括jenkins主节点、jenkins从节点和vcs源码库,所述jenkins从节点包括编译服务器和测试服务器;其中,

所述vcs源码库,用于接收并存储待测源码;

所述jenkins主节点,用于检测所述vcs源码库中是否存储所述待测源码,如果是,则从所述vcs源码库中获取所述待测源码,并发送至所述编译服务器;

所述编译服务器,用于对所述待测源码进行编译,得到biosimage,利用bmc将所述biosimage烧录至待测系统;

所述测试服务器,用于利用bat运行bios固件自动化测试套件,对所述待测系统进行测试,生成测试报告。

可选的,所述编译服务器,还包括:

源码验证模块,用于对所述待测源码进行静态代码扫描,检测所述待测源码是否存在安全漏洞。

可选的,还包括:

反馈服务器,用于利用所述jenkins主节点发送的结果发送信息,将所述测试结果发送至用户终端,其中,所述结果发送信息为所述jenkins主节点接收所述测试服务器发送的测试结果后生成的,所述结果发送信息包括所述测试结果和记载有发送对象和发送指令的发送命令。

本发明还公开了一种三节点bios持续集成方法,包括:

vcs源码库接收并存储待测源码;

jenkins主节点检测所述vcs源码库中是否存储所述待测源码,如果是,则从所述vcs源码库中获取所述待测源码,并发送至编译服务器;

所述编译服务器对所述待测源码进行编译,得到biosimage,利用bmc将所述biosimage烧录至待测系统;

测试服务器利用bat运行bios固件自动化测试套件,对所述待测系统进行测试,生成测试报告。

可选的,所述编译服务器对所述待测源码进行编译之前,还包括:

对所述待测源码进行静态代码扫描,检测所述待测源码是否存在安全漏洞。

可选的,所述生成测试报告之后,还包括:

所述jenkins主节点生成结果发送信息,将所述结果发送信息发送至反馈服务器,以使所述反馈服务器将所述测试结果发送至用户终端,其中,所述结果发送信息为所述jenkins主节点接收所述测试服务器发送的测试结果后生成的,所述结果发送信息包括所述测试结果和记载有发送对象和发送指令的发送命令。

本发明中,三节点bios持续集成平台,包括jenkins主节点、jenkins从节点和vcs源码库,jenkins从节点包括编译服务器和测试服务器;其中,vcs源码库,用于接收并存储待测源码;jenkins主节点,用于检测vcs源码库中是否存储待测源码,如果是,则从vcs源码库中获取待测源码,并发送至编译服务器;编译服务器,用于对待测源码进行编译,得到biosimage,利用bmc将biosimage烧录至待测系统;测试服务器,用于利用bat运行bios固件自动化测试套件,对待测系统进行测试,生成测试报告。

本发明三节点bios持续集成平台包括jenkins主节点、jenkins从节点和vcs源码库,jenkins从节点包括编译服务器和测试服务器,利用vcs源码库接收并存储bios开发人员编辑的待测源码,jenkins主节点自动检测vcs源码库是否存储有待测源码,当检测到有待测源码,jenkins主节点从vcs源码库获取待测源码,并发送至编译服务器,编译服务器再将待测源码编译为biosimage格式,并利用bmc将biosimage烧录至待测设备,以使biosimage能够在待测设备中运行,测试服务器再利用bat运行bios固件自动化测试套件,在待测设备中运行biosimage进行测试,生成测试报告,完成对biosimage能否在待测设备正常运行的测试,将待测源码的获取、编译、烧录和测试分别由三个服务器节点运行,实现自动化测试,分担各服务器的负载,加快了测试效率,提高测试速度。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。

图1为本发明实施例公开的一种三节点bios持续集成平台结构示意图;

图2为本发明实施例公开的另一种三节点bios持续集成平台结构示意图;

图3为本发明实施例公开的一种三节点bios持续集成方法流程示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明实施例公开了一种三节点bios持续集成平台,参见图1所示,该平台包括jenkins主节点2、jenkins从节点3和vcs源码库1(vcs,versioncontrolsystem,版本控制系统),jenkins从节点3包括编译服务器31和测试服务器32;其中,

vcs源码库1,用于接收并存储待测源码。

具体的,bios开发人员编辑出待测源码后,通过用户终端将待测源码发送至vcs源码库1,存储待测源码,以供后续测试使用,vcs源码库1接收到待测源码后,vcs源码库1版本将会更新,其中,vcs源码库1可以为svn源码库或git源码库。

jenkins主节点2,用于检测vcs源码库1中是否存储待测源码,如果是,则从vcs源码库1中获取待测源码,并发送至编译服务器31。

具体的,jenkins主节点2检测vcs源码库1的版本变化,当vcs源码库1的版本发生变化,表明vcs源码库1接收到新的待测源码,jenkins主节点2检测到vcs源码库1中存储待测源码,则从vcs源码库1中获取待测源码,并发送至编译服务器31,以供编译服务器31编译。

编译服务器31,用于对待测源码进行编译,得到biosimage(二进制可执行镜像),利用bmc(boardmanagementcontrollersystem,板载的带外管理系统)将biosimage烧录至待测系统。

具体的,编译服务器31在本地系统下进行编译,将待测源码编译为biosimage,编译完成后,利用bmc将biosimage烧录至待测设备,以便待测源码在待测设备中运行。

测试服务器32,用于利用bat(biosautomatedtestingbios自动化测试服务)运行bios固件自动化测试套件,对待测系统进行测试,生成测试报告。

具体的,测试服务器32在本地系统下利用bat运行bios固件自动化测试套件,对待测设备进行biosimage运行测试,检测biosimage是否能够在待测设备中正常运行,生成记录有测试结果的测试报告,测试报告能够反映出biosimage在待测设备运行过程中引发的bug并记录

其中,编译服务器31和测试服务器32为不同服务器,因此,两者运行系统可以不同,例如,编译服务器31可以采用便于运行编译和烧录的windows系统,而测试服务器32可以采用与待测设备相同的linux系统。

可以理解的是,jenkins主节点2未检测到vcs源码库1中存有待测源码则继续检测;jenkins主节点2、编译服务器31和测试服务器32之间可以通过网络连接。

可见,本发明实施例中三节点bios持续集成平台包括jenkins主节点2、jenkins从节点3和vcs源码库1,jenkins从节点3包括编译服务器31和测试服务器32,利用vcs源码库1接收并存储bios开发人员编辑的待测源码,jenkins主节点2自动检测vcs源码库1是否存储有待测源码,当检测到有待测源码,jenkins主节点2从vcs源码库1获取待测源码,并发送至编译服务器31,编译服务器31再将待测源码编译为biosimage格式,并利用bmc将biosimage烧录至待测设备,以使biosimage能够在待测设备中运行,测试服务器32再利用bat运行bios固件自动化测试套件,在待测设备中运行biosimage进行测试,生成测试报告,完成对biosimage能否在待测设备正常运行的测试,将待测源码的获取、编译、烧录和测试分别由三个服务器节点运行,实现自动化测试,分担各服务器的负载,加快了测试效率,提高测试速度。

本发明实施例公开了一种具体的三节点bios持续集成平台,相对于上一实施例,本实施例对技术方案作了进一步的说明和优化。餐巾图2所示,具体的:

本发明实施例中,为了保证待测源码不存在安全漏洞,上述jenkins从节点3中的编译服务器31还可以包括源码验证模块311,用于对待测源码进行静态代码扫描,检测待测源码是否存在安全漏洞。

具体的,源码验证模块311在编译服务器31对待测源码编译之前,可以利用验证代码对待测源码进行静态代码扫描,检测待测源码是否存在安全漏洞,验证代码可以为hpfortity或ibmappscansrc,源码验证模块311可以将验证结果生成验证报告,以供用户浏览验证结果修复待测源码的安全漏洞。

进一步的,为了及时将测试结果反馈给用户,可以增加反馈服务器4,用于利用jenkins主节点2发送的结果发送信息,将测试结果发送至用户终端,其中,结果发送信息为jenkins主节点2接收测试服务器发送的测试结果后生成的,结果发送信息包括测试结果和记载有发送对象和发送指令的发送命令。

具体的,测试服务器32生成测试结果后,将测试结果发送至jenkins主节点2,jenkins主节点2生成包括测试结果和记载有发送对象和发送指令的发送命令的结果发送信息,并将结果发送信息发送至反馈服务器4,反馈服务器4接收结果发送信息后,利用其中的发送对象和发送指令的发送命令将测试结果发送至用户终端,使用户能够及时收到测试结果;其中,反馈服务器4可以为邮件管理服务器,以邮件的形式向用户终端发送测试结果。

相应的,本发明实施例还公开了一种三节点bios持续集成方法,参见图3所示,该方法包括:

s11:vcs源码库接收并存储待测源码;

s12:jenkins主节点检测vcs源码库中是否存储待测源码,如果是,则从vcs源码库中获取待测源码,并发送至编译服务器;

s13:编译服务器对待测源码进行编译,得到biosimage,利用bmc将biosimage烧录至待测系统;

s14:测试服务器利用bat运行bios固件自动化测试套件,对待测系统进行测试,生成测试报告。

可以理解的是,jenkins主节点未检测到vcs源码库中存储待测源码则继续检测,不做动作。

本发明实施例中,在上述编译服务器对待测源码进行编译之前,还可以对待测源码进行静态代码扫描,检测待测源码是否存在安全漏洞。

进一步的,在上述生成测试报告之后,还可以由jenkins主节点生成结果发送信息,将结果发送信息发送至反馈服务器,以使反馈服务器将测试结果发送至用户终端,其中,结果发送信息为jenkins主节点接收测试服务器发送的测试结果后生成的,结果发送信息包括测试结果和记载有发送对象和发送指令的发送命令。

可见,本发明实施例中三节点bios持续集成方法利用vcs源码库接收并存储bios开发人员编辑的待测源码,jenkins主节点自动检测vcs源码库是否存储有待测源码,当检测到有待测源码,jenkins主节点从vcs源码库获取待测源码,并发送至编译服务器,编译服务器再将待测源码编译为biosimage格式,并利用bmc将biosimage烧录至待测设备,以使biosimage能够在待测设备中运行,测试服务器再利用bat运行bios固件自动化测试套件,在待测设备中运行biosimage进行测试,生成测试报告,完成对biosimage能否在待测设备正常运行的测试,将待测源码的获取、编译、烧录和测试分别由三个服务器节点运行,实现自动化测试,分担各服务器的负载,加快了测试效率,提高测试速度。

最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

以上对本发明所提供的一种三节点bios持续集成平台及方法进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1