【技术实现步骤摘要】
一种基于容器的持续集成方法、装置和电子设备
[0001]本专利技术涉及软件流水线领域,具体涉及一种基于容器的持续集成方法、装置和电子设备。
技术介绍
[0002]在工程机械的智能驾驶领域,需要经常对工程机械中域控制器烧录的软件程序进行维护和升级,为了应付持续的软件升级工作,目前最常用的技术手段是软件流水线技术,从而实现软件程序到域控制器的持续交付。软件流水线通常是采用特定的服务器进行持续集成、持续交付和持续部署,导致服务器上预装了各种各样的依赖、第三方包。随着软件流水线的增加,服务器越来越臃肿,同时会增加机器分类构建,如特定机器构建特定的语言;前端、后端分别在不同的机器构建。而流水线并不是无时无刻的在运行,这必然会导致服务器资源的浪费。为了解决这一问题,基于容器技术的软件流水线应运而生。
[0003]文件CN112363733A公开了一种基于Docker容器的持续集成方法。该方法提到,将待处理文件加载到持续集成环境中;然后根据待处理文件的待处理类型选择对应的Docker镜像;之后根据Docker镜像启动对应的Dock ...
【技术保护点】
【技术特征摘要】
1.一种基于容器的持续集成方法,其特征在于,所述方法包括:接收集成请求,并解析所述集成请求中的架构类型和功能类型;根据所述架构类型和所述功能类型提取容器镜像,并基于所述容器镜像创建集成容器;若所述架构类型与当前运行环境的架构不相同,则将所述集成容器的架构翻译为当前运行环境的架构,并运行翻译的集成容器;拉取目标代码到所述翻译的集成容器中进行编译。2.根据权利要求1所述的方法,其特征在于,所述将所述集成容器的架构翻译为当前运行环境的架构,包括:创建二进制转换单元;通过所述二进制转换单元将所述集成容器的二进制指令持续翻译为当前运行环境的指令集格式。3.根据权利要求2所述的方法,其特征在于,所述创建二进制转换单元,包括:进入QEMU模拟器的用户模式;通过binfmt_misc机制注册所述二进制转换单元。4.根据权利要求1所述的方法,其特征在于,所述拉取目标代码到所述翻译的集成容器中进行编译,包括:在所述集成容器中对拉取的所述目标代码进行静态扫描;若静态扫描满足要求,则对所述目标代码进行编译。5.根据权利要求4所述的方法,其特征在于,在所述对所述目标代码进行编译之前,所述方法还包括:通过所述目标代码执行预设的测试用例,生成测试报告;将所述测试报告发送至客户端;若接收到所述客户端反馈的测试报告合格信息,则返回所述对所述目标代码进行编译的步骤。6.根据权利要求1所述的方法,其特征在于,若所述集成请求中包括多个架构类型,则对应提取多个容器镜像并创建各个容器镜像对应的集成容器,然后在...
【专利技术属性】
技术研发人员:蔡裕辉,
申请(专利权)人:深圳海星智驾科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。