[发明专利]软件包构建方法以及装置在审
申请号: | 202211304217.2 | 申请日: | 2022-10-24 |
公开(公告)号: | CN115639986A | 公开(公告)日: | 2023-01-24 |
发明(设计)人: | 安凯歌;朱云锋;李雪江;石超 | 申请(专利权)人: | 阿里巴巴(中国)有限公司 |
主分类号: | G06F8/30 | 分类号: | G06F8/30;G06F8/41 |
代理公司: | 北京智信禾专利代理有限公司 11637 | 代理人: | 张瑞 |
地址: | 311121 浙江省杭州市余杭*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 软件包 构建 方法 以及 装置 | ||
本说明书实施例提供一种软件包构建方法以及装置,其中所述软件包构建方法包括:获取C/C++语言的源码描述文件,根据所述源码描述文件确定依赖关系描述,其中,所述源码描述文件包含代码的构建指令;基于构建C/C++语言的代码所需要的编译工具链,确定代码构建容器环境;在所述代码构建容器环境中,根据所述依赖关系描述执行对应的源码描述文件中的构建指令,得到目标软件包。通过引入源码描述文件,根据源码描述文件以源码的方式构建软件包,因为源码的方式具有普适性,所以提高了兼容性。并且基于代码构建容器环境,减少了对构建环境的依赖,便于移植和跨平台构建,提高了兼容性。
技术领域
本说明书实施例涉及数据处理技术领域,特别涉及一种软件包构建方法。
背景技术
在分布式操作系统中将各个模块客户端的二进制包给云产品集成使用是常用的方式。随着支撑场景增多,分布式操作系统内部基础模块互相解耦,独立进行技术演进。除了上述基础模块,分布式操作系统仓库还包括有公共库,以及各种三方库。当分布式操作系统某个基础库需要提升版本时,为了确保新版本的API及ABI兼容性,分布式操作系统其他模块也要重新产生二进制包。
但是,对于C/C++程序来说,由于其采用二进制方式供外部集成,导致构建环境差异,菱形依赖等系列问题。目前C/C++程序这种二进制的发布方式不能很好的应对程序的兼容性要求。特别是模块众多时,由于不同模块构建环境的差异,使用的三方库版本差异,一定概率会导致二进制的客户端被集成后运行不符合预期。
因此,亟需一种兼容性更好的方案。
发明内容
有鉴于此,本说明书实施例提供了一种软件包构建方法。本说明书一个或者多个实施例同时涉及一种软件包构建装置,一种计算设备,一种计算机可读存储介质以及一种计算机程序,以解决现有技术中存在的技术缺陷。
根据本说明书实施例的第一方面,提供了一种软件包构建方法,包括:
获取C/C++语言的源码描述文件,根据所述源码描述文件确定依赖关系描述,其中,所述源码描述文件包含代码的构建指令;
基于构建C/C++语言的代码所需要的编译工具链,确定代码构建容器环境;
在所述代码构建容器环境中,根据所述依赖关系描述执行对应的源码描述文件中的构建指令,得到目标软件包。
根据本说明书实施例的第二方面,提供了应用于分布式系统中的节点,所述方法包括:
获取C/C++语言的源码描述文件,根据所述源码描述文件确定依赖关系描述,其中,所述源码描述文件包含代码的构建指令;
确定其他节点中代码构建容器环境,并根据所述依赖关系描述将所述构建指令分发至所述其他节点,其中,所述代码构建环境中包括构建C/C++语言的代码所需要的编译工具链;
接收所述其他节点发送的指令执行结果,根据所述指令执行结果得到所述目标软件包。
根据本说明书实施例的第三方面,提供了一种软件包构建装置,包括:
关系确定模块,被配置为获取C/C++语言的源码描述文件,根据所述源码描述文件确定依赖关系描述,其中,所述源码描述文件包含代码的构建指令;
环境确定模块,被配置为确定代码构建容器环境,其中,所述代码构建环境中包括构建C/C++语言的代码所需要的编译工具链;
指令执行模块,被配置为在所述代码构建容器环境中,根据所述依赖关系描述执行对应的源码描述文件中的构建指令,得到目标软件包。
根据本说明书实施例的第四方面,提供了一种软件包构建装置,应用于分布式系统,所述装置包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于阿里巴巴(中国)有限公司,未经阿里巴巴(中国)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202211304217.2/2.html,转载请声明来源钻瓜专利网。