[发明专利]镜像构建方法与装置、电子设备、存储介质在审
申请号: | 201911357118.9 | 申请日: | 2019-12-25 |
公开(公告)号: | CN111124454A | 公开(公告)日: | 2020-05-08 |
发明(设计)人: | 黄源 | 申请(专利权)人: | 南京医康科技有限公司;南京懿医云大数据科技有限公司 |
主分类号: | G06F8/65 | 分类号: | G06F8/65;G06F8/71;G06F11/14 |
代理公司: | 北京律智知识产权代理有限公司 11438 | 代理人: | 王辉;阚梓瑄 |
地址: | 210000 江苏省南京市江北新*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 构建 方法 装置 电子设备 存储 介质 | ||
本公开涉及一种镜像构建方法与装置、电子设备、计算机可读存储介质,属于计算机技术领域。该方法包括:获取包含依赖信息的应用代码,依赖信息包含应用代码所依赖的目标依赖包及目标依赖包对应的版本约束条件;根据目标依赖包对应的版本约束条件,确定目标依赖包的相关依赖信息,相关依赖信息包括:目标依赖包所依赖的基础依赖包;根据相关依赖信息,安装基础依赖包及目标依赖包,得到依赖层镜像;安装应用代码,得到应用层镜像。本公开可以提高依赖包安装的可控性及可重入性。
技术领域
本公开涉及计算机技术领域,尤其涉及一种镜像构建方法与装置、电子设备、计算机可读存储介质。
背景技术
持续集成是在源代码变更后自动检测、拉取、构建和(在大多数情况下)进行单元测试的过程。持续集成的目标是快速确保开发人员新提交的变更是好的,并且适合在代码库中进一步使用。
在通过持续集成构建镜像时,采用宽约束条件(例如,应用代码所依赖的依赖包的版本有多个)安装依赖包时,依赖包的更新升级导致对同一份源码执行持续集成最终生成的镜像中所安装的依赖包不同。对于应用代码Bug修复的场景,可能导致应用代码无法正常运行。因此,依赖包安装的可控性及可重入性较低。
发明内容
本公开的目的在于提供一种镜像构建方法与装置、电子设备、计算机可读存储介质,进而至少在一定程度上克服由于现有技术的限制和缺陷而导致的在构建镜像时依赖包安装的可控性及可重入性较低的问题。
本公开的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本公开的实践而习得。
根据本公开的第一方面,提供一种镜像构建方法,包括:
获取包含依赖信息的应用代码,所述依赖信息包含所述应用代码所依赖的目标依赖包及所述目标依赖包对应的版本约束条件;
根据所述目标依赖包对应的版本约束条件,确定所述目标依赖包的相关依赖信息,所述相关依赖信息包括:所述目标依赖包所依赖的基础依赖包;
根据所述相关依赖信息,安装所述基础依赖包及所述目标依赖包,得到依赖层镜像;
安装所述应用代码,得到应用层镜像。
可选的,本公开实施例的镜像构建方法,还包括:
获取所述应用代码的类型;
在所述应用代码为第一类型时,或,在所述应用代码为第二类型,且所述应用代码为首次构建时,执行所述根据所述目标依赖包对应的版本约束条件,确定所述目标依赖包的相关依赖信息的步骤;
在所述应用代码为第二类型,且所述应用代码为非首次构建时,获取已构建的依赖层镜像,执行所述安装所述应用代码,得到应用层镜像的步骤。
可选的,本公开实施例的镜像构建方法,还包括:
在所述目标依赖包或所述基础依赖包发生变化时,如果所述应用代码为第一类型,对所述依赖层镜像进行更新;如果所述应用代码为第二类型,不对所述依赖层镜像进行更新。
可选的,所述根据所述目标依赖包对应的版本约束条件,确定所述目标依赖包的相关依赖信息,包括:
根据所述目标依赖包对应的版本约束条件,确定所述目标依赖包的版本;
对所述版本的目标依赖包进行递归检索,得到所述目标依赖包的相关依赖信息,所述相关依赖信息中的基础依赖包包括:所述版本的目标依赖包直接依赖的第一基础依赖包以及间接依赖的第二基础依赖包。
可选的,所述相关依赖信息还包括:所述基础依赖包的可安装版本;
所述根据所述相关依赖信息,安装所述基础依赖包及所述目标依赖包,包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于南京医康科技有限公司;南京懿医云大数据科技有限公司,未经南京医康科技有限公司;南京懿医云大数据科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201911357118.9/2.html,转载请声明来源钻瓜专利网。