持续集成方法技术

技术编号:39657826 阅读:10 留言:0更新日期:2023-12-09 11:26
本申请提供了一种持续集成方法

【技术实现步骤摘要】
持续集成方法、控制设备、持续集成系统及存储介质


[0001]本申请涉及持续集成
,具体而言,涉及一种持续集成方法

控制设备

持续集成系统及存储介质


技术介绍

[0002]持续集成是敏捷开发方法中的重要的一个实践活动

持续集成能够将代码获取

代码编译

部署安装

结果采集

分析统计等过程串接起来,实现敏捷开发的目标

由于持续集成涉及的过程复杂,因此需要使用较多的资源

因此,如何进行持续集成系统的资源调度是值得解决的问题

[0003]目前,可以通过两种方式进行资源调度

第一种是通过调度
docker
容器来提供持续集成环境,第二种是通过调度虚拟机来提供持续集成环境

[0004]但是,针对第一种方式,
docker
容器是操作系统层面的虚拟化,并不能支持硬件虚拟化

针对第二种方式,虚拟机的硬件设备需要支持虚拟化,并且硬件设备类的持续集成的结果取决于驱动程序的测试结果,而虚拟化出来的硬件驱动测试结果无法作为依据

因此,现有的资源调度方法存在无法还原真实的持续集成测试场景的问题


技术实现思路

[0005]本申请的目的在于,针对上述现有技术中的不足,提供一种持续集成方法

控制设备

持续集成系统及存储介质,以解决现有技术中无法实现硬件虚拟化,且无法还原真实的持续集成测试场景的问题

[0006]为实现上述目的,本申请采用的技术方案如下:第一方面,本申请提供了一种持续集成方法,所述方法应用于持续集成系统中的控制设备,所述持续集成系统中包括所述控制设备以及多个物理设备,所述控制设备与各所述物理设备通信连接,所述方法包括:获取持续集成指令,所述持续集成指令用于指示待编译测试的目标代码的标识以及所述目标代码的编译测试环境信息;获取各所述物理设备的实时环境信息;根据所述持续集成指令以及各所述物理设备的实时环境信息,确定所述多个物理设备中的目标物理设备;向所述目标物理设备发送持续集成控制信息,所述持续集成控制信息用于指示所述目标物理设备基于所述目标物理设备上部署的编译测试程序对所述目标代码进行编译测试,以及,输出所述目标代码的编译测试结果

[0007]可选的,所述控制设备上部署有物理设备监控调度模块,各所述物理设备上分别部署有代理模块,所述物理设备监控调度模块与各所述代理模块之间实时通信连接;所述获取各所述物理设备的实时环境信息,包括:由所述物理设备监控调度模块基于与各代理模块之间的实时通信连接,接收各所
述代理模块上报的所述物理设备的实时环境信息,所述实时环境信息包括:硬件类型

操作系统类型

资源占用信息

[0008]可选的,所述根据所述持续集成指令以及各所述物理设备的实时环境信息,确定所述多个物理设备中的目标物理设备,包括:根据所述持续集成指令,获取所述目标代码的编译测试环境信息,所述编译测试环境信息包括:硬件类型

操作系统类型;根据所述编译测试环境信息以及各所述实时环境信息,确定满足所述编译测试环境信息的至少一个待选物理设备;根据各待选物理设备的实时环境信息,从所述至少一个待选物理设备中筛选出所述目标物理设备

[0009]可选的,所述根据所述编译测试环境信息以及各所述所述实时环境信息,确定满足所述编译测试环境信息的至少一个待选物理设备,包括:遍历各所述实时环境信息,针对遍历到的当前实时环境信息,若所述当前实时环境信息中的硬件类型与所述编译测试环境信息中的硬件类型匹配,且所述当前实时环境信息中的操作系统类型与所述编译测试环境信息中的操作系统类型匹配,则将所述当前实时环境信息对应的物理设备作为一个待选物理设备

[0010]可选的,所述根据各待选物理设备的实时环境信息,从所述至少一个待选物理设备中筛选出所述目标物理设备,包括:根据各待选物理设备的实时环境信息中的资源占用信息,确定具有最大空闲资源的物理设备;将具有最大空闲资源的物理设备作为所述目标物理设备

[0011]可选的,所述控制设备上还部署有远程控制模块;所述向所述目标物理设备发送持续集成控制信息,包括:由所述物理设备监控调度模块向所述远程控制模块发送所述目标代码的标识以及所述目标物理设备的标识;由所述远程控制模块根据所述目标物理设备的标识,向所述目标物理设备发送所述持续集成控制信息,所述持续集成控制信息中包括所述目标代码的信息,所述目标代码的信息包括:所述目标代码或所述目标代码的标识

[0012]可选的,所述由所述远程控制模块根据所述目标物理设备的标识,向所述目标物理设备发送所述持续集成控制信息,包括:由所述远程控制模块基于所述远程控制模块与所述目标物理设备之间的通信连接,向所述目标物理设备发送所述持续集成控制信息

[0013]第二方面,本申请提供了一种持续集成装置,所述装置包括:第一获取模块,用于获取持续集成指令,所述持续集成指令用于指示待编译测试的目标代码的标识以及所述目标代码的编译测试环境信息;第二获取模块,用于获取各所述物理设备的实时环境信息;确定模块,用于根据所述持续集成指令以及各所述物理设备的实时环境信息,确定所述多个物理设备中的目标物理设备;发送模块,用于向所述目标物理设备发送持续集成控制信息,所述持续集成控制
信息用于指示所述目标物理设备基于所述目标物理设备上部署的编译测试程序对所述目标代码进行编译测试,以及,输出所述目标代码的编译测试结果

[0014]可选的,所述第二获取模块具体用于:由所述物理设备监控调度模块基于与各代理模块之间的实时通信连接,接收各所述代理模块上报的所述物理设备的实时环境信息,所述实时环境信息包括:硬件类型

操作系统类型

资源占用信息

[0015]可选的,所述确定模块具体用于:根据所述持续集成指令,获取所述目标代码的编译测试环境信息,所述编译测试环境信息包括:硬件类型

操作系统类型;根据所述编译测试环境信息以及各所述实时环境信息,确定满足所述编译测试环境信息的至少一个待选物理设备;根据各待选物理设备的实时环境信息,从所述至少一个待选物理设备中筛选出所述目标物理设备

[0016]可选的,所述确定模块具体用于:遍历各所述实时环境信息,针对遍历到的当前实时环境信息,若所述当前实时环境信息中的硬件类型与所述编译测试环境信息中的硬件类型匹配,且所述当前实时环境信息中的操作系统类型与所述编译测试环境信息中的操作系统类型匹配,则将所述当前实时环境信息对应的物本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.
一种持续集成方法,其特征在于,应用于持续集成系统中的控制设备,所述持续集成系统中包括所述控制设备以及多个物理设备,所述控制设备与各所述物理设备通信连接,所述方法包括:获取持续集成指令,所述持续集成指令用于指示待编译测试的目标代码的标识以及所述目标代码的编译测试环境信息;获取各所述物理设备的实时环境信息;根据所述持续集成指令以及各所述物理设备的实时环境信息,确定所述多个物理设备中的目标物理设备;向所述目标物理设备发送持续集成控制信息,所述持续集成控制信息用于指示所述目标物理设备基于所述目标物理设备上部署的编译测试程序对所述目标代码进行编译测试,以及,输出所述目标代码的编译测试结果
。2.
根据权利要求1所述的方法,其特征在于,所述控制设备上部署有物理设备监控调度模块,各所述物理设备上分别部署有代理模块,所述物理设备监控调度模块与各所述代理模块之间实时通信连接;所述获取各所述物理设备的实时环境信息,包括:由所述物理设备监控调度模块基于与各代理模块之间的实时通信连接,接收各所述代理模块上报的所述物理设备的实时环境信息,所述实时环境信息包括:硬件类型

操作系统类型

资源占用信息
。3.
根据权利要求1所述的方法,其特征在于,所述根据所述持续集成指令以及各所述物理设备的实时环境信息,确定所述多个物理设备中的目标物理设备,包括:根据所述持续集成指令,获取所述目标代码的编译测试环境信息,所述编译测试环境信息包括:硬件类型

操作系统类型;根据所述编译测试环境信息以及各所述实时环境信息,确定满足所述编译测试环境信息的至少一个待选物理设备;根据各待选物理设备的实时环境信息,从所述至少一个待选物理设备中筛选出所述目标物理设备
。4.
根据权利要求3所述的方法,其特征在于,所述根据所述编译测试环境信息以及各所述实时环境信息,确定满足所述编译测试环境信息的至少一个待选物理设备,包括:遍历各所述实时环境信息,针对遍历到的当前实时环境信息,若所述当前实时环境信息中的硬件类型与所述编译测试环境信息中的硬件类型匹配,且所述当前实时...

【专利技术属性】
技术研发人员:方梓澄
申请(专利权)人:芯瞳半导体技术山东有限公司
类型:发明
国别省市:

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

1