一种应用代码包版本管理方法及装置制造方法及图纸

技术编号:32474814 阅读:8 留言:0更新日期:2022-03-02 09:36
本申请公开了一种应用代码包版本管理方法及装置,包括:对待存储的应用代码包进行规范性检测;对于检测通过的应用代码包,根据所述应用代码包中的应用信息、版本号、上传时间和文件大小,生成指纹信息;根据所述应用信息,从预设的配置管理数据库中获取需要部署所述应用代码包的各节点的节点信息;根据所述各节点的节点信息,确定至少一个目标代码仓库,并将携带有所述指纹信息的所述应用代码包发送至所述目标代码仓库。通过将检测通过的应用代码包预先存储至需要部署所述应用代码包的各节点的目标代码仓库,使得所述各节点可以对应用代码包进行就近调度,提升了应用代码包的部署效率,缩短了应用代码包的升级发布时间。缩短了应用代码包的升级发布时间。缩短了应用代码包的升级发布时间。

【技术实现步骤摘要】
一种应用代码包版本管理方法及装置


[0001]本申请涉及计算机
,更具体地说,是涉及一种应用代码包版本管理方法及装置。

技术介绍

[0002]近些年,随着DevOps(Development Operations)理念的不断推进,各互联网企业都在构建“持续集成、持续发布”的产品服务自动化运维流水线,以保障软件产品和服务的按时交付。然而,随着软件开发效率的提升及开发周期的缩短,伴随着代码的版本管理问题也越发突出。
[0003]现有软件版本管理中,往往都只关注到了研发过程中的版本管理,能够通过GIT、SVN等平台或工具来对开发过程中的软件进行版本控制。然而,却忽略了对每次上线的应用代码包的管理,经常会出现以下几种情况:1、源代码的研发版本号已经迭代更新了多个版本,而对于应用代码包曾经有过哪些版本、发布过什么环境或部署过什么节点,却缺乏相应的记录;2、当线上应用代码包的版本出现问题,需要回滚到之前的版本时,却难以获知当前环境、当前节点的上一次部署的版本号;3、当需要对服务进行快速扩容时,没有一个可以直接用于部署的应用代码包来应急。以上这些场景,都突显了应用代码包管理在产品交付服务中的重要性。
[0004]此外,在服务部署、升级、扩容、回滚等操作过程中,应用代码包的传输效率也直接性影响到了服务迭代发布的效率,因此在施工期间如何解决应用代码包在网络中的传输速率问题,也是自动化建设过程中面临的重大问题。

技术实现思路

[0005]有鉴于此,本申请提供了一种应用代码包版本管理方法及装置,以提升应用代码包的传输效率。
[0006]为实现上述目的,本申请第一方面提供了应用代码包版本管理方法,包括:
[0007]对待存储的应用代码包进行规范性检测,得到检测结果,所述检测结果包括所述应用代码包是否检测通过;
[0008]对于检测通过的应用代码包,根据所述应用代码包中的应用信息、版本号、上传时间和文件大小,生成指纹信息;
[0009]根据所述应用信息,从预设的配置管理数据库中获取需要部署所述应用代码包的各节点的节点信息;
[0010]根据所述各节点的节点信息,确定至少一个目标代码仓库,并将携带有所述指纹信息的所述应用代码包发送至所述目标代码仓库。
[0011]优选地,根据所述各节点的节点信息,确定至少一个目标代码仓库的过程,包括:
[0012]针对所述各节点中的每个节点:
[0013]根据所述节点的节点信息,获取候选代码仓库列表,所述候选代码仓库列表包括
至少一个候选代码仓库;
[0014]获取各候选代码仓库的网络类型、有效带宽、存储空间大小、所述节点到各候选代码仓库的路由跳数;
[0015]根据所述网络类型、有效带宽、存储空间大小以及所述节点到各候选代码仓库的路由跳数,确定所述节点的目标代码仓库。
[0016]优选地,根据所述网络类型、有效带宽、存储空间大小以及所述节点到各候选代码仓库的路由跳数,确定所述节点的目标代码仓库的过程,包括:
[0017]针对每个代码仓库,采用下述公式计算得到所述代码仓库的优先级:
[0018]P=100
×
n

j
×
r+50
×
m/1000+(d

500)/1000
[0019]其中,n为由所述网络类型确定的网络环境系数,j为所述节点到所述候选代码仓库的路由跳数,r为由所述网络类型确定的路由衰减系数,m为所述有效带宽,d为存储空间大小;
[0020]将优先级最高的候选代码仓库确定为所述目标代码仓库。
[0021]优选地,对待存储的应用代码包进行规范性检测的过程,包括:
[0022]检测所述应用代码包的文件格式是否与所述应用代码包所承载的服务的类型相匹配;
[0023]检测所述应用代码包的命名方式是否符合预设的命名规范;
[0024]检测所述应用代码包的目录结构是否符合预设的目录结构规范;
[0025]检测所述应用代码包是否不为锁定状态。
[0026]优选地,将携带有所述指纹信息的所述应用代码包发送至所述目标代码仓库的过程,包括:
[0027]通知所述目标代码仓库所在的节点的节点代理,由所述节点代理拉取携带有所述指纹信息的所述应用代码包,并由所述节点代理将携带有所述指纹信息的所述应用代码包推送至所述目标代码仓库。
[0028]优选地,在所述生成指纹信息之后,还包括:
[0029]将携带有所述指纹信息的所述应用代码包发送至备份仓库,所述备份仓库用于以备份的形式存储所有检测通过的应用代码包。
[0030]优选地,还包括:
[0031]当接收到应用代码包的部署请求时,根据部署请求的参数,获取需要部署的节点的信息、应用代码包的目标指纹信息;
[0032]根据所述需要部署的节点的信息,确定目标代码仓库;
[0033]判断所述目标代码仓库是否存储有携带有所述目标指纹信息的应用代码包;
[0034]若是,将所述目标代码仓库的携带有所述目标指纹信息的应用代码包发送至所述需要部署的节点;
[0035]若否,将备份仓库的携带有所述目标指纹信息的应用代码包发送至所述需要部署的节点。
[0036]优选地,将所述目标代码仓库的携带有所述目标指纹信息的应用代码包发送至所述需要部署的节点的过程,包括:
[0037]通知所述需要部署的节点的节点代理,由所述节点代理从所述目标代码仓库拉取
携带有所述目标指纹信息的应用代码包,并由所述节点代理将携带有所述目标指纹信息的应用代码包推送至所述需要部署的节点的主机集群。
[0038]优选地,还包括:
[0039]当携带有所述目标指纹信息的应用代码包成功部署到所述需要部署的节点后,根据携带有所述目标指纹信息的应用代码包的测试报告生成所述应用代码包的标签。
[0040]本申请第二方面提供了一种应用代码包版本管理装置,包括:
[0041]规范性检测单元,用于对待存储的应用代码包进行规范性检测,得到检测结果,所述检测结果包括所述应用代码包是否检测通过;
[0042]指纹生成单元,用于对于检测通过的应用代码包,根据所述应用代码包中的应用信息、版本号、上传时间和文件大小,生成指纹信息;
[0043]信息获取单元,用于根据所述应用信息,从预设的配置管理数据库中获取需要部署所述应用代码包的各节点的节点信息;
[0044]目标确定单元,用于根据所述各节点的节点信息,确定至少一个目标代码仓库,并将携带有所述指纹信息的所述应用代码包发送至所述目标代码仓库。
[0045]经由上述的技术方案可知,本申请对待存储的应用代码包进行规范性检测,得到检测结果,所述检测结果包括所述应用代码包是否检测通过。对于检测通过的应用代码包,首先,根据所述应用代码包中的应用信息、版本号、上传时间和文件大小,生成指纹信息,其本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种应用代码包版本管理方法,其特征在于,包括:对待存储的应用代码包进行规范性检测,得到检测结果,所述检测结果包括所述应用代码包是否检测通过;对于检测通过的应用代码包,根据所述应用代码包中的应用信息、版本号、上传时间和文件大小,生成指纹信息;根据所述应用信息,从预设的配置管理数据库中获取需要部署所述应用代码包的各节点的节点信息;根据所述各节点的节点信息,确定至少一个目标代码仓库,并将携带有所述指纹信息的所述应用代码包发送至所述目标代码仓库。2.根据权利要求1所述的方法,其特征在于,根据所述各节点的节点信息,确定至少一个目标代码仓库的过程,包括:针对所述各节点中的每个节点:根据所述节点的节点信息,获取候选代码仓库列表,所述候选代码仓库列表包括至少一个候选代码仓库;获取各候选代码仓库的网络类型、有效带宽、存储空间大小、所述节点到各候选代码仓库的路由跳数;根据所述网络类型、有效带宽、存储空间大小以及所述节点到各候选代码仓库的路由跳数,确定所述节点的目标代码仓库。3.根据权利要求2所述的方法,其特征在于,根据所述网络类型、有效带宽、存储空间大小以及所述节点到各候选代码仓库的路由跳数,确定所述节点的目标代码仓库的过程,包括:针对每个代码仓库,采用下述公式计算得到所述代码仓库的优先级:P=100
×
n

j
×
r+50
×
m/1000+(d

500)/1000其中,n为由所述网络类型确定的网络环境系数,j为所述节点到所述候选代码仓库的路由跳数,r为由所述网络类型确定的路由衰减系数,m为所述有效带宽,d为存储空间大小;将优先级最高的候选代码仓库确定为所述目标代码仓库。4.根据权利要求1所述的方法,其特征在于,对待存储的应用代码包进行规范性检测的过程,包括:检测所述应用代码包的文件格式是否与所述应用代码包所承载的服务的类型相匹配;检测所述应用代码包的命名方式是否符合预设的命名规范;检测所述应用代码包的目录结构是否符合预设的目录结构规范;检测所述应用代码包是否不为锁定状态。5.根据权利要求1所述的方法,其特征在于,将携带有所述指纹信息的所述应用代码...

【专利技术属性】
技术研发人员:张启帆王刚崔伟高保庆
申请(专利权)人:天翼数字生活科技有限公司
类型:发明
国别省市:

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

1