一种代码增量发布更新方法及系统技术方案

技术编号:30516356 阅读:22 留言:0更新日期:2021-10-27 22:59
本发明专利技术公开了一种代码增量发布更新方法及系统,属于应用开发技术领域,包括:步骤S1,对构建的代码源文件进行打包;步骤S2,配置文件名索引,更新索引表;步骤S3,提取变更的文件名索引对应的变更文件;步骤S4,分层部署,将更新版本记录信息上传至发布系统,并将更新版本镜像到内容分发网络中;步骤S5,接收并自动录入更新版本记录信息,接收用户选择的发布信息,并将发布信息中对应的版本更新至对应服务器的缓存中;步骤S6,服务器从缓存中得到索引表,根据索引表从内容分发网络中获取静态资源文件。本发明专利技术的有益效果在于:集代码构建、打包、发布于一体,规范化了版本发布流程,优化用户加载体验,操作安全便捷易操作。操作安全便捷易操作。操作安全便捷易操作。

【技术实现步骤摘要】
一种代码增量发布更新方法及系统


[0001]本专利技术涉及应用开发
,具体涉及一种代码增量发布更新方法及系统。

技术介绍

[0002]随着互联网的发展,用户浏览网页属于常见行为。网页可以向用户展示各类信息、为用户提供各种功能的服务。网页主要通过在服务器端部署的代码实现前述作用。而针对网页所部署的代码主要包括前端代码和后端代码,前端代码主要用于实现网页页面上的静态展示、交互等功能,而后端代码主要用于实现网页后台的数据处理、处理逻辑等。
[0003]前端网页页面的需求经常性发生变更,有时候只是改动了一个文案或一张图片,但是需要将完整的代码重新打包发布,此时代码编译后的整个文件中只有其中的一两个文件发生细微变化,大部分(约有99%)代码是没有改动的。为了满足业务上线需求,需要将编译后的整个代码目录完整上传发布即替换文件夹,或者在nginx服务器(或apache服务器)上配置重写rewrite规则,采用这种方式发布更新增量代码存在诸多问题,例如用户第二次访问网页页面时,需要完整重新下载所有需要的代码,且历史缓存文件失效,对于流量控制及页面加载体验都很不友好;储存文件存在很多重复,造成服务器的存储空间大量浪费;线上发布异常回滚流程繁琐,容易出错导致线上故障;发布过程需要运行维护人员参与,可扩展性较差,因此针对以上问题,迫切需要设计出一种代码增量发布更新方法及系统,以满足实际使用的需要。

技术实现思路

[0004]本专利技术的目的在于,提供一种代码增量发布更新方法及系统,集代码构建、打包、发布于一体,能够支持同一公司的各业务部门的代码发布、增量更新、灰度发布等服务。
[0005]本专利技术所解决的技术问题可以采用以下技术方案来实现:
[0006]本专利技术提供一种代码增量发布更新方法,包括:
[0007]步骤S1,对构建的代码源文件进行打包,得到一个或一个以上的打包文件;
[0008]步骤S2,为每个所述打包文件配置一文件名索引,并将配置好的所述文件名索引更新到一索引表中;
[0009]步骤S3,判断所述索引表中的所述文件名索引是否发生变更,若发生变更,则提取发生变更的所述文件名索引对应的变更文件,并存储提取的所述变更文件作为产出物;
[0010]步骤S4,根据所述产出物对所述变更文件进行分层部署,以更新版本,将更新版本记录信息上传至一发布系统,所述更新版本记录信息包括所述索引表,并将更新后的版本镜像到一内容分发网络中;
[0011]步骤S5,所述发布系统通过一内容管理单元接收并自动录入所述更新版本记录信息,所述内容管理单元接收用户选择的发布信息,并将所述发布信息中对应的版本更新至对应服务器的缓存中;
[0012]步骤S6,所述服务器根据当前的版本信息从所述缓存中匹配得到对应的所述索引
表,并根据匹配得到的所述索引表从所述内容分发网络中获取静态资源地址,完成更新。
[0013]优选地,所述步骤S1中,对开发的代码源文件进行打包,之前还包括:
[0014]步骤S0,基于编程框架构建开发代码,得到构建的所述代码源文件。
[0015]优选地,所述步骤S1具体包括:
[0016]步骤S11,调用一模块打包器;
[0017]步骤S12,所述模块打包器采用多入口打包的方式对所述代码源文件进行打包,得到所述一个或一个以上的打包文件。
[0018]优选地,所述步骤S3具体包括:
[0019]步骤S31,对所述索引表中的所述文件名索引对应的所述打包文件进行差异化对比,得到一对比结果;
[0020]步骤S32,根据所述对比结果提取发生变更的所述打包文件作为所述变更文件;
[0021]步骤S33,将提取的所述变更文件存储至所述产出物中。
[0022]优选地,所述步骤S4中,采用一应用容器引擎对所述产出物中的所述变更文件进行分层动态部署。
[0023]优选地,所述步骤S6中,所述服务器通过所述内容管理单元的接口直接从所述缓存中读取对应的所述索引表;或
[0024]若所述缓存中没有对应版本的所述索引表,则通过所述内容管理单元的接口读取版本对应的所述索引表,并写入到对应的所述缓存中。
[0025]本专利技术还提供一种代码增量发布更新系统,用于实施如上述的代码增量发布更新方法,包括:
[0026]一代码构建单元,用于构建开发代码,并对构建的代码源文件进行打包,所述代码构建单元还包括:
[0027]一配置子单元,连接所述代码构建单元,用于为每个所述打包文件配置一文件名索引,并将配置好的所述文件名索引更新到一索引表中;
[0028]一变更提取子单元,分别连接所述配置子单元和所述索引表,用于当判断出所述索引表中的所述文件名索引发生变更时,提取发生变更的所述文件名索引对应的变更文件,并存储提取的所述变更文件作为产出物;
[0029]一部署单元,连接所述变更提取单元,用于根据所述产出物对所述变更文件进行分层部署,以更新版本,将更新版本记录信息上传至一发布系统,所述更新版本记录信息包括所述索引表,并将更新后的版本镜像到一内容分发网络中;
[0030]一发布系统,连接所述部署单元,所述发布系统包括:
[0031]一内容管理单元,用于接收并自动录入所述更新版本记录信息,所述内容管理单元接收用户选择的发布信息,并将所述发布信息中对应的版本更新至对应服务器的缓存中;
[0032]至少一个服务器,分别连接内容管理单元和所述内容分发网络,用于根据当前的版本信息从所述缓存中匹配得到对应的所述索引表,并根据匹配得到的所述索引表从所述内容分发网络中获取静态资源地址,完成更新。
[0033]优选地,所述代码构建单元基于编程框架构建开发代码,得到构建的所述代码源文件。
[0034]优选地,所述内容管理单元包括一数据库,所述数据库用于记录版本的发布信息、更新版本记录信息。
[0035]优选地,还包括:
[0036]一模块打包器,连接所述代码构建单元,用于所述代码构建单元调用所述模块打包器时,所述模块打包器采用多入口打包的方式对所述代码源文件进行打包,得到所述一个或一个以上的打包文件。
[0037]本专利技术技术方案的有益效果在于:
[0038]本专利技术集代码构建、打包、发布于一体,能够支持同一公司的各业务部门的代码发布、增量更新、灰度发布等服务;对构建的代码源文件进行打包并配置文件名索引,更新到索引表中,通过逐行读取对比索引表,找出变更文件,并进行分层部署,服务部署可横向扩展支持多种业务,节约存储成本;发布系统将发布版本代码索引表存储至对应的缓存中,节约服务存储成本,缓存复用,加速用户访问、加载体验,服务器从缓存中匹配得到对应的索引表,并根据匹配得到的索引表从内容分发网络中获取静态资源地址,规范化了版本发布、版本回滚流程,优化用户加载体验,操作安全便捷易操作。
附图说明
[0039]图1是本专利技术中一种代码增量发布更新方法的流程示意本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种代码增量发布更新方法,其特征在于,包括:步骤S1,对构建的代码源文件进行打包,得到一个或一个以上的打包文件;步骤S2,为每个所述打包文件配置一文件名索引,并将配置好的所述文件名索引更新到一索引表中;步骤S3,判断所述索引表中的所述文件名索引是否发生变更,若发生变更,则提取发生变更的所述文件名索引对应的变更文件,并存储提取的所述变更文件作为产出物;步骤S4,根据所述产出物对所述变更文件进行分层部署,以更新版本,将更新版本记录信息上传至一发布系统,所述更新版本记录信息包括所述索引表,并将更新后的版本镜像到一内容分发网络中;步骤S5,所述发布系统通过一内容管理单元接收并自动录入所述更新版本记录信息,所述内容管理单元接收用户选择的发布信息,并将所述发布信息中对应的版本更新至对应服务器的缓存中;步骤S6,所述服务器根据当前的版本信息从所述缓存中匹配得到对应的所述索引表,并根据匹配得到的所述索引表从所述内容分发网络中获取静态资源文件。2.根据权利要求1所述的一种代码增量发布更新方法,其特征在于,所述步骤S1中,对开发的代码源文件进行打包,之前还包括:步骤S0,基于编程框架构建开发代码,得到构建的所述代码源文件。3.根据权利要求1所述的一种代码增量发布更新方法,其特征在于,所述步骤S1具体包括:步骤S11,调用一模块打包器;步骤S12,所述模块打包器采用多入口打包的方式对所述代码源文件进行打包,得到所述一个或一个以上的打包文件。4.根据权利要求1所述的一种代码增量发布更新方法,其特征在于,所述步骤S3具体包括:步骤S31,对所述索引表中的所述文件名索引对应的所述打包文件进行差异化对比,得到一对比结果;步骤S32,根据所述对比结果提取发生变更的所述打包文件作为所述变更文件;步骤S33,将提取的所述变更文件存储至所述产出物中。5.根据权利要求1所述的一种代码增量发布更新方法,其特征在于,所述步骤S4中,采用一应用容器引擎对所述产出物中的所述变更文件进行分层动态部署。6.根据权利要求1所述的一种代码增量发布更新方法,其特征在于,所述步骤S6中,所述服务器通过所述内容管理单元的接口直接从所述...

【专利技术属性】
技术研发人员:宋春林
申请(专利权)人:上海轻轻信息科技有限公司
类型:发明
国别省市:

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

1