维护运行环境一致性的方法、装置、存储介质及电子设备制造方法及图纸

技术编号:27280724 阅读:11 留言:0更新日期:2021-02-06 11:47
本申请公开了一种维护运行环境一致性的方法、装置、存储介质及电子设备,涉及人工智能,尤其是深度学习、云计算技术领域,具体涉及操作系统虚拟化技术领域、持续集成技术领域。具体实现方案为:获取持续集成系统中的待编译程序代码和目标环境信息;从多个Docker镜像之中选择与目标环境信息对应的目标Docker镜像,其中,多个Docker镜像是采用相同的Dockerfile文件构建得到的,且具有不同的环境信息;以及根据目标Docker镜像构建Docker容器,并在Docker容器提供的Docker环境中编译待编译程序代码,能够有效地避免影响其它任务的编译执行过程,从而维护持续集成系统的运行环境的一致性,避免和执行其他任务的程序代码产生冲突,并且有效保障了编译过程的持续集成效果。并且有效保障了编译过程的持续集成效果。并且有效保障了编译过程的持续集成效果。

【技术实现步骤摘要】
维护运行环境一致性的方法、装置、存储介质及电子设备


[0001]本申请涉及人工智能
,尤其是深度学习、云计算
,具体涉及操作系统虚拟化
、持续集成
,尤其涉及维护运行环境一致性的方法、装置、存储介质及电子设备。

技术介绍

[0002]云计算(Cloud computing),指的是通过网络接入弹性可扩展的共享物理或虚拟资源池,资源可以包括服务器、操作系统、网络、软件、应用和存储设备等,并可以以按需、自服务的方式对资源进行部署和管理的技术体系。通过云计算技术,可以为人工智能、区块链等技术应用、模型训练提供高效强大的数据处理能力。
[0003]在持续集成系统的应用过程中,其中一个任务(任务是对持续集成系统中各种任务的统称,可以是测试任务、集成任务、交付任务、部署任务等等)环境中更新了某些依赖包,其它任务没有更新,则可能会导致程序代码在不同的环境下可能会产生编译失败的问题。

技术实现思路

[0004]提供了一种维护运行环境一致性的方法、装置、存储介质及电子设备。
[0005]根据第一方面,提供了一种维护运行环境一致性的方法,包括:获取持续集成系统中的待编译程序代码和目标环境信息;从多个Docker镜像之中选择与所述目标环境信息对应的目标Docker镜像,其中,所述多个Docker镜像是采用相同的Dockerfile文件构建得到的,且具有不同的环境信息;以及根据所述目标Docker镜像构建Docker容器,并在所述Docker容器提供的Docker环境中编译所述待编译程序代码。
[0006]根据第二方面,提供了一种维护运行环境一致性的装置,包括:获取模块,用于获取持续集成系统中的待编译程序代码和目标环境信息;选择模块,用于从多个Docker镜像之中选择与所述目标环境信息对应的目标Docker镜像,其中,所述多个Docker镜像是采用相同的Dockerfile文件构建得到的,且具有不同的环境信息;以及编译模块,用于根据所述目标Docker镜像构建Docker容器,并在所述Docker容器提供的Docker环境中编译所述待编译程序代码。
[0007]根据第三方面,提供了一种电子设备,包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行本申请实施例的维护运行环境一致性的方法。
[0008]根据第四方面,提出了一种存储有计算机指令的非瞬时计算机可读存储介质,所述计算机指令用于使所述计算机执行本申请实施例公开的维护运行环境一致性的方法。
[0009]应当理解,本部分所描述的内容并非旨在标识本申请的实施例的关键或重要特征,也不用于限制本申请的范围。本申请的其它特征将通过以下的说明书而变得容易理解。
附图说明
[0010]附图用于更好地理解本方案,不构成对本申请的限定。其中:
[0011]图1是根据本申请第一实施例的示意图;
[0012]图2是根据本申请第二实施例的示意图;
[0013]图3是根据本申请第三实施例的示意图;
[0014]图4是根据本申请第四实施例的示意图;
[0015]图5是用来实现本申请实施例的维护运行环境一致性的方法的电子设备的框图。
具体实施方式
[0016]以下结合附图对本申请的示范性实施例做出说明,其中包括本申请实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本申请的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
[0017]图1是根据本申请第一实施例的示意图。
[0018]需要说明的是,本实施例的维护运行环境一致性的方法的执行主体为维护运行环境一致性的装置,该装置可以由软件和/或硬件的方式实现,该装置可以配置在电子设备中,电子设备可以包括但不限于终端、服务器端等。
[0019]电子设备可以是蜂窝电话、无绳电话、会话启动协议(Session Initiation Protocol,SIP)电话、无线本地环路(Wireless Local Loop,WLL)站、个人数字处理(Personal Digital Assistant,PDA)、具有无线通信功能的手持设备、计算设备或连接到无线调制解调器的其它处理设备、车载设备、可穿戴设备以及未来5G网络中的电子设备等。
[0020]本申请涉及人工智能
,尤其是深度学习、云计算
,具体涉及操作系统虚拟化
、持续集成

[0021]其中,人工智能(Artificial Intelligence),英文缩写为AI。它是研究、开发用于模拟、延伸和扩展人的智能的理论、方法、技术及应用系统的一门新的技术科学。深度学习是学习样本数据的内在规律和表示层次,这些学习过程中获得的信息对诸如文字,图像和声音等数据的解释有很大的帮助。深度学习的最终目标是让机器能够像人一样具有分析学习能力,能够识别文字、图像和声音等数据。云计算(Cloud computing),指的是通过网络接入弹性可扩展的共享物理或虚拟资源池,资源可以包括服务器、操作系统、网络、软件、应用和存储设备等,并可以以按需、自服务的方式对资源进行部署和管理的技术体系。通过云计算技术,可以为人工智能、区块链等技术应用、模型训练提供高效强大的数据处理能力;操作系统虚拟化是指通过划分一个宿主操作系统的特定部分,产生一个个隔离的操作执行环境,操作系统虚拟化是操作系统内核直接提供的虚报化,虚拟出的操作系统之间共享底层宿主操作系统内核和底层的硬件资源;持续集成是一种软件开发实践,每次集成都通过自动化的构建(包括编译,发布,自动化测试)来验证,从而尽早地发现集成错误。
[0022]如图1所示,该维护运行环境一致性的方法包括:
[0023]本申请中,首先对说明书中涉及到的相关技术术语进行解释说明:
[0024]Docker是PaaS(Platform as a Service,平台即服务)提供商DotCloud开源的一个高级容器引擎,源代码托管在Github上,使用GO作为开发语言并遵从Apache2.0协议开
源,Docker使用客户端/服务器架构模式。
[0025]Docker镜像(Image)是构建Docker容器的基础,Docker镜像是一个只读的模板,镜像是一种分层结构的文件系统。一个只读层被称为镜像,一个镜像是永久不会变的。由于Docker使用一个统一文件系统,Docker进程认为整个文件系统是以读写方式挂载的。但是所有的变更都发生在顶层的可写层,而下层的原始的只读镜像文件并未变化,由于镜像不可写,所以镜像是无状态的。
[0026]Docker容器基于Docker镜像创建生成。Docker容器可以理解为镜像的一个实例,让用户可以打包应用及程序依赖本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种维护运行环境一致性的方法,包括:获取持续集成系统中的待编译程序代码和目标环境信息;从多个Docker镜像之中选择与所述目标环境信息对应的目标Docker镜像,其中,所述多个Docker镜像是采用相同的Dockerfile文件构建得到的,且具有不同的环境信息;以及根据所述目标Docker镜像构建Docker容器,并在所述Docker容器提供的Docker环境中编译所述待编译程序代码。2.根据权利要求1所述的方法,其中,所述从多个Docker镜像之中选择与所述目标环境信息对应的目标Docker镜像,包括:在本地缓存和/或Docker仓库中预存的多个Docker镜像之中选择与所述目标环境信息对应的目标Docker镜像。3.根据权利要求2所述的方法,其中,所述在本地缓存和/或Docker仓库中预存的多个Docker镜像之中选择与所述目标环境信息对应的目标Docker镜像,包括:判断所述本地缓存中是否存在所述目标Docker镜像;如果存在,则直接从所述本地缓存中获取所述目标Docker镜像;如果不存在,则从所述Docker仓库中获取与所述目标环境信息对应的目标Docker镜像。4.根据权利要求3所述的方法,其中,所述从所述Docker仓库中获取与所述目标环境信息对应的目标Docker镜像,包括:判断所述Docker仓库中是否存在所述目标Docker镜像;如果存在,则从所述Docker仓库中获取所述目标Docker镜像;如果不存在,则获取Dockerfile文件,并根据所述Dockerfile文件生成与所述目标环境信息对应的目标Docker镜像。5.根据权利要求4所述的方法,其中,所述根据所述Dockerfile文件生成与所述目标环境信息对应的目标Docker镜像,包括:根据所述目标环境信息确定目标环境的配置参数;根据所述配置参数和所述Dockerfile文件生成所述目标Docker镜像;对所述Dockerfile文件和所述目标环境信息进行加密处理,得到加密值;将所述加密值与所述目标Docker镜像做关联处理,以得到与所述目标环境信息对应的目标Docker镜像。6.根据权利要求5所述的方法,在所述得到与所述目标环境信息对应的目标Docker镜像之后,还包括:将与所述目标环境信息对应的目标Docker镜像保存至所述本地缓存和/或Docker仓库之中。7.一种维护运行环境一致性的装置,包括:获取模块,用于获取持续集成系统中的待编译程序代码和目标环境信...

【专利技术属性】
技术研发人员:田硕骆涛宁哲峰
申请(专利权)人:北京百度网讯科技有限公司
类型:发明
国别省市:

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

1