[发明专利]一种基于React Native的灰度热部署系统有效
申请号: | 202110119988.3 | 申请日: | 2021-01-28 |
公开(公告)号: | CN112817624B | 公开(公告)日: | 2022-10-04 |
发明(设计)人: | 赵存;高宇健;欧平均 | 申请(专利权)人: | 杭州衣科信息技术股份有限公司 |
主分类号: | G06F8/65 | 分类号: | G06F8/65;G06F8/658;G06F8/71;G06F16/242;G06F16/2455;G06F16/28 |
代理公司: | 杭州天昊专利代理事务所(特殊普通合伙) 33283 | 代理人: | 程皓 |
地址: | 311100 浙江省杭州市临*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 react native 灰度 部署 系统 | ||
本发明公开了一种基于React Native的灰度热部署系统,包括gitlabrunner模块、web端模块、服务端模块和客户端模块;本发明提供基于ReactNative应用热部署方案,实现自动发布、灰度可控、增量下发的一种基于ReactNative的灰度热部署系统。
技术领域
本发明涉及软件热部署领域,更具体的说,它涉及一种基于React Native的灰度热部署系统。
背景技术
在大型的Saas软件内都需要构建强大的营销中台,以支持商户在线上、线下一体化营销中需要的灵活多变场景。软件应允许商户针对不同场景建立自定义规则,制定不同营销优惠策略。此类系统存在很多的问题如难以进行灰度热部署进行系统的升级管理、系统在事务处理中难以实现分布式处理、缺少强有力的表达方式的系统搭建,营销类系统对于打印统计也要求极高,目前难以实现快速的移动端打印等。其中,如何进行灰度热部署进行系统的升级管理成为重要问题之一。
React Native是FaceBook开源的跨平台移动开发框架,能够利用JavaScript编写移动应用,当移动应用上架到各大应用市场后,在不需要重新提交审核的情况下,下发打包的JavaScript代码即可更新应用,这种快速触达用户,高效的开发方式,受到越来越多的开发者青睐。
目前现有的热部署方案主要有:
1)集成微软开源的code push服务。该方案优点是集成简单,企业节约开发成本,但缺点也很明显,code push服务在国外,热部署时效性低,会出现更新失败的问题,打包需要在终端执行打包命令,繁琐且易出错,打包后的文件是全量下载,浪费用户流量。
2)自己搭建服务存储打包后的JavaScript文件,客户端集成SDK下载。该方案优点是服务比较稳定可控,缺点也很明显,打包文件全量下载,浪费客户流量,同样需要终端执行打包命令。
3)基于Jenkins+自己搭建服务+客户端集成SDK下载。该方案利用Jenkins线性工作机制,配置好打包脚本,发布时在Jenkins工作台点击下即可打包发布,方便快速,但这种方式很难做到灰度可控,同样存在全量下载浪费客户流量的问题。
发明内容
本发明克服了现有技术的不足,提供基于React Native应用热部署方案,实现自动发布、灰度可控、增量下发的一种基于React Native的灰度热部署系统。
本发明的技术方案如下:
一种基于React Native的灰度热部署系统,包括gitlab runner模块、web端模块、服务端模块和客户端模块;
gitlab runner模块用于执行打包任务,通过开源代码托管平台,部署基于该平台的运行服务,该运行服务通过相应执行任务文件进行运作,任务文件实现执行的任务,其包括依赖下载、打包;任务文件通过开源代码托管平台相应的对外接口进行触发;
web端模块用于灰度发布,触发gitlab runner模块的打包功能,打包结束后会将包上传到服务器,完成一次打包任务;服务器收到打包文件后,会将这次发布的版本及灰度方式存储到数据库中,完成一次应用发布;
服务端模块用于存储、下发打包的执行任务文件;服务端模块包括数据库表packages和packages_diff,其中packages表记录每次版本的发布,信息包括包下载链接、版本号、灰度方式、是否存在diff包、是否可下载;packages_diff表记录每次发布的diff后的文件信息;当服务端收到gitlab runner模块上传的包后,检查packages表是否已存在同版本的包,如果不存在,记录该次发布的相应信息到表packages;如果存在,则利用文本差异方法生成差异化后的内容,将差异后的内容保存到旧包进行替换,同时记录到packages_diff表,完成一次差异化过程;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于杭州衣科信息技术股份有限公司,未经杭州衣科信息技术股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110119988.3/2.html,转载请声明来源钻瓜专利网。