[发明专利]一种基于git实现的多组件软件升级方法、装置及服务器在审
| 申请号: | 201810985438.8 | 申请日: | 2018-08-27 |
| 公开(公告)号: | CN109144548A | 公开(公告)日: | 2019-01-04 |
| 发明(设计)人: | 唐寅;范渊 | 申请(专利权)人: | 杭州安恒信息技术股份有限公司 |
| 主分类号: | G06F8/65 | 分类号: | G06F8/65;G06F8/71 |
| 代理公司: | 北京超凡志成知识产权代理事务所(普通合伙) 11371 | 代理人: | 王文红 |
| 地址: | 310000 浙江省杭州*** | 国省代码: | 浙江;33 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 版本软件 软件升级 版本信息 多组件 仓库 服务器 测试 软件升级技术 文件夹 文件操作 中心仓库 出错率 新版本 删除 升级 发布 | ||
本发明提供了一种基于git实现的多组件软件升级方法、装置及服务器,涉及软件升级技术领域,该方法由服务器执行,该方法包括:采用git提交文件操作向测试仓库的文件夹内添加第一版本软件的文件和第一版本软件的版本信息;判断第一版本软件是否有新版本;如果是,将测试仓库的第一版本软件的文件和第一版本软件的版本信息删除,并将第二版本软件的文件和第二版本软件的版本信息添加到测试仓库;确定第一版本软件和第二版本软件的差异包;将差异包推送到中心仓库和发布仓库,以供用户基于差异包完成软件升级。本发明基于git实现多组件软件的升级,能够有效降低软件升级的成本和出错率。
技术领域
本发明涉及软件升级技术领域,尤其是涉及一种基于git实现的多组件软件升级方法、装置及服务器。
背景技术
在web系统领域,一个复杂的web应用可能由很多个组件构成,随着版本的推进,组件的升级和维护成了一道难题。如果采用各个组件独立升级的方式,势必会带来版本依赖问题,增加了维护成本。关于多组件升级问题,传统的解决方法是使用不同版本的全量应用包,人工对比差异文件,生成差异包(由多个差异文件组成的压缩包或其他形式的包),然后通过差异包对多组件软件升级。现有的多组件软件升级方法中,当全量包过大时,差异文件对比会是一个漫长的过程,存在时间成本和人力成本较高、升级容易出错的问题。
发明内容
有鉴于此,本发明的目的在于提供一种基于git实现的多组件软件升级方法、装置及服务器,能够有效降低软件升级的成本和出错率。
为了实现上述目的,本发明实施例采用的技术方案如下:
第一方面,本发明实施例提供了一种基于git实现的多组件软件升级方法,该方法由服务器执行,其中,服务器上创建有中心仓库、测试仓库和发布仓库;中心仓库分别与测试仓库和发布仓库相关联,中心仓库包括git仓库;该方法包括:采用git提交文件操作向测试仓库的文件夹内添加第一版本软件的文件和第一版本软件的版本信息;其中,版本信息包括git标签;判断第一版本软件是否有新版本;如果是,将测试仓库的第一版本软件的文件和第一版本软件的版本信息删除,并将第二版本软件的文件和第二版本软件的版本信息添加到测试仓库;确定第一版本软件和第二版本软件的差异包;其中,差异包包括第一版本软件的文件和第二版本软件的文件之间的差异文件;将差异包推送到中心仓库和发布仓库,以供用户基于差异包完成软件升级。
结合第一方面,本发明实施例提供了第一方面的第一种可能的实施方式,其中,确定第一版本软件和第二版本软件的差异包的步骤,包括:获取git提交文件操作产生的git日志;根据git日志生成第一版本软件和第二版本软件的差异包。
结合第一方面,本发明实施例提供了第一方面的第二种可能的实施方式,其中,差异包还包括升级脚本和meta文件;确定第一版本软件和第二版本软件的差异包的步骤,包括:对比第一版本软件的文件和第二版本软件的文件,确定第一版本软件和第二版本软件之间的差异文件;获取差异文件对应的升级脚本和meta文件;其中,meta文件包括第一版本软件的文件路径、第二版本软件的文件路径和删除文件的路径。将差异文件、升级脚本和meta文件打包生成差异包。
结合第一方面,本发明实施例提供了第一方面的第三种可能的实施方式,其中,服务器上设置有测试版本管理服务和发布版本管理服务;将差异包推送到中心仓库和发布仓库的步骤,包括:从测试版本管理服务中下载差异包,将下载的差异包推送到中心仓库;通过发布版本管理服务将中心仓库中的差异包推送至发布仓库。
结合第一方面的第三种可能的实施方式,本发明实施例提供了第一方面的第四种可能的实施方式,其中,将下载的差异包推送到中心仓库的步骤,包括:判断差异包是否合法;如果是,将差异包推送到中心仓库。
结合第一方面的第四种可能的实施方式,本发明实施例提供了第一方面的第五种可能的实施方式,其中,上述方法还包括:若差异包非法,删除测试仓库中的第二版本软件的版本信息,并重新向测试仓库中添加第二版本软件的文件和版本信息。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于杭州安恒信息技术股份有限公司,未经杭州安恒信息技术股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810985438.8/2.html,转载请声明来源钻瓜专利网。





