[发明专利]一种支持持续集成构建的跨平台编译方法及系统有效
申请号: | 202011307807.1 | 申请日: | 2020-11-20 |
公开(公告)号: | CN112363728B | 公开(公告)日: | 2023-07-18 |
发明(设计)人: | 王锟 | 申请(专利权)人: | 浪潮软件科技有限公司 |
主分类号: | G06F8/41 | 分类号: | G06F8/41;G06F8/71 |
代理公司: | 济南信达专利事务所有限公司 37100 | 代理人: | 孙晶伟 |
地址: | 250100 山东省济*** | 国省代码: | 山东;37 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 支持 持续 集成 构建 平台 编译 方法 系统 | ||
本发明公开一种支持持续集成构建的跨平台编译方法及系统,涉及虚拟化及构建服务计算领域;通过Gitlab提供基于Git的代码版本化管理工具,通过gitlab‑ci.yaml定制持续构建流程,通过外部集成方式配置提交事件触发回调钩子,集成调用外部服务中间件,通过外部服务中间件根据配置要求或基于策略的形式准备及提供满足对应平台的虚拟化集成编译环境,并在相应的虚拟化集成编译环境下进行跨平台编译。
技术领域
本发明公开一种方法及系统,涉及虚拟化及构建服务计算领域,具体地说是一种支持持续集成构建的跨平台编译方法及系统。
背景技术
边缘计算领域面向多种硬件架构(X86,ARM,aarch64等),需要针对特定平台编译、部署的应用程序提供特定环境,目前还没有能够在统一平台开发边缘服务应用程序而在特定编译平台环境实现自动化持续集成构建和部署的方法。
发明内容
本发明针对现有技术的问题,提供一种支持持续集成构建的跨平台编译方法及系统,基于编译平台,结合持续构建服务(Gitlab CI),提供可配置、基于策略的服务中间件,实现提供具有跨平台编译能力的持续集成、构建部署服务。
本发明提出的具体方案是:
一种支持持续集成构建的跨平台编译方法:通过Gitlab提供基于Git的代码版本化管理工具,通过gitlab-ci.yaml定制持续构建流程,通过外部集成方式配置提交事件触发回调钩子,集成调用外部服务中间件,通过外部服务中间件根据配置要求或基于策略的形式准备及提供满足对应平台的虚拟化集成编译环境,并在相应的虚拟化集成编译环境下进行跨平台编译。
优选地,所述的一种支持持续集成构建的跨平台编译方法中利用外部服务中间件参照提交事件的回调信息内容,解析提交事件中源代码对应的编译平台和配置要求,根据配置要求准备对应平台的虚拟化集成编译环境。
优选地,所述的一种支持持续集成构建的跨平台编译方法中准备对应平台的虚拟化集成编译环境:
参照配置要求,按照指定的信息准备对应平台的虚拟化集成编译环境;
或者基于策略,按照提交事件的回调信息,结合对应平台预制的默认组合方式准备虚拟化集成编译环境。
优选地,所述的一种支持持续集成构建的跨平台编译方法中利用外部服务中间件在相应的虚拟化集成编译环境下进行跨平台编译:
通过动态方式创建虚拟机,安装项目源代码目标架构的交叉编译工具集,进行交叉编译;
和/或通过QEMU方式创建项目源代码目标架构虚拟机,在虚拟目标环境中进行编译。
优选地,所述的一种支持持续集成构建的跨平台编译方法中通过Docker增强构建方式,结合QEMU和binfmt_misc创建的qemu-user-static实例以镜像的方式进行对应平台的编译。
优选地,所述的一种支持持续集成构建的跨平台编译方法中利用外部服务中间件在编译过程提供检索、定制和维护管理服务。
优选地,所述的一种支持持续集成构建的跨平台编译方法中利用外部服务中间件进行编译过程信息反馈,并将反馈信息反映在Gitlab持续构建集成过程的日志中。
一种支持持续集成构建的跨平台编译系统包括管理模块及中间件模块,
管理模块通过Gitlab提供基于Git的代码版本化管理工具,通过gitlab-ci.yaml定制持续构建流程,通过外部集成方式配置提交事件触发回调钩子,集成调用中间件模块的外部服务中间件,中间件模块通过外部服务中间件根据配置要求或基于策略的形式准备及提供满足对应平台的虚拟化集成编译环境,并在相应的虚拟化集成编译环境下进行跨平台编译。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浪潮软件科技有限公司,未经浪潮软件科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011307807.1/2.html,转载请声明来源钻瓜专利网。