所有的 QP 资源包的发布都包括这几个步骤:BETA 发布、灰度发布、线上发布。
如果全量发布之后存在质量问题,可以进行下线和回滚。
发布流程图如下
发布页概览如下,您可以着重注意红色区域部分提示。
快速导航
可快速回到导航区域,新建发布
可新建一条发布记录。
BETA 发布: 将静态资源打成 QP 资源包,并发布到 BETA 服务器上。
发布类型选择BETA
,填写相关参数,点击 发布
进行发布, 在进行灰度发布前,可反复进行 BETA 发布。
发布完成后,如何测试业务代码,请看文档 使用/测试
一节
版本信息:
资源信息:
否
, 正常填写资源信息进行打包;选择是
,则可填写一个完整的QP包地址,实现该QP包的上线工作。资源信息分为两种:远程资源和本地资源(GIT方式,您可以任选您需要的方式进行资源填写。
(1). 远程资源
远程文件
后, 您会看到远程资源忽略
和远程域名替换
)。// 1: 直接填写资源
http://simg1.qunarzz.com/hotel/bnb-touch/bao.png
/**
* 如果远程文件是一个页面,页面链接地址前可以加上 『+』 或 『-』
* 『+』: 含义为递归查找页面内引用到的 js/css(包括当前url)
* 『-』: 含义为递归查找页面内引用到的 js/css(不包括当前url)
* /
+http://bnb.qunar.com/touch/bnbtouch.jsp
-http://bnb.qunar.com/touch/bnbtouch.jsp
// 2: 填写配置信息
-https://common.qunarzz.com/static/prd/qpconfig/public.conf
/**
* public.conf中的内容为
* https://common.qunarzz.com/lib/prd/babel-polyfill/6.26.0/polyfill.min.js
* https://common.qunarzz.com/lib/prd/axios/0.18.0/axios.min.js
* /
// 远程域名替换
www.baidu.com 192.168.10.10:8080
(2) 本地资源
tagName
和 资源对应关系
的输入框。// 资源关系对应
-
- http://www.qunar.com/test/a.jpg // 资源标识
- ./test/a.jpg // 相对于文件目录的路径
版本信息:
资源信息:
版本信息:
资源信息:
灰度发布:通过 uid 和灰度百分比来进行灰度发布。
发布类型选择 灰度
, 填写相关参数,点击 发布
进行发布。
灰度发布成功后,可以从灰度设备中查看资源更新后的效果(详情请看使用/测试
一节), 您可以重复进行灰度发布,以追加测试的灰度设备。
全量发布:全量发布线上。
发布类型选择 全量
, 点击 发布
进行发布。
全量发布完成后,您仍可通过下面的设置强制更新
的按钮,进行强制更新的设置或取消
强制更新: 当某个 QP 包需要被用户快速下载到时,可以使用强制更新功能。 具体解释详情查看
当某个qp包需要被强制更新时,发布全量时打开强制更新按钮即可。
如果某个包已结束全量发布,但由于某些原因希望开启或关闭强制更新功能,仍可通过点击全量面板下的 设置强制更新
或 取消强制更新
的按钮进行设置。
设置强制更新成功的包,左侧的发布历史中会出现强更
的字样,如上图所示。
下线:如果在灰度发布
或全量发布
后发现了资源包存在问题,可以点击下线
按钮将资源包下线,设备将不会再下载到该资源包。
在QRN和YIS中,点击下线,该工程自动加锁,需master或者owner进行解锁,才可以继续进行操作(若进行代码回滚
操作,则自动解锁)
下线后,QRN提供回滚功能。
代码回滚:将代码回滚到某次发布
线上回滚:将线上JSBundle回滚至某次发布, 回滚成功后会有当前线上jsbundle文件的确认提示。