前言
该文章并不涉及到code-push-server服务的搭建过程,官方使用docker创建很简单,一直使用的服务器存储,但是无奈本人的服务器1M的网速太慢了,热更新时小几M的bundle文件依旧下载的很慢,所以想将存储迁移到七牛云,加快热更新的过程。
由于本人对七牛云并不是很熟悉,所以将此次的过程详细的记录下来。
服务器: 腾讯云linux
服务协议: https
注意:
1.迁移后,由于热更新最终的下载地址变为新的下载地址,所以以前的热更新虽然还会检测到热更新(因为code-push-server的服务还在,只是下载地址变了),但是会下载失败。
2.新在域名地址在个人服务器上面不用指向实际的服务,最终都会转向七牛的服务器,作用仅仅只是提供一个可用的域名
过程
1.创建一个对象存储
2.绑定域名
七牛融合 CDN 测试域名(以 clouddn.com/qiniucdn.com/qiniudn.com/qnssl.com/qbox.me 结尾),每个域名每日限总流量 10GB,每个测试域名自创建起 30 个自然日后系统会自动回收,仅供测试使用并且不支持 Https 访问,详情查看 七牛测试域名使用规范 。点击域名可查看剩余回收时间。
创建的对象存储会默认有一个测试域名,该域名有30天的有效期并且不支持https,所以需要绑定要自己的域名上面
如果证书已经在七牛云上面,2.1~2.3过程可以跳过
2.1 申请证书
由于前面购买服务器的时候已经申请过域名了,在这里申请子域名的证书是免费的,直接点击'免费申请证书'后,填写响应信息,等待几个小时(挺快的,不用等待一天)
 cloud storage when storageType value is "qiniu".
qiniu: {
accessKey: "",
secretKey: "",
bucketName: "",
downloadUrl: "" // Binary files download host address.
},
common: {
/*
* tryLoginTimes is control login error times to avoid force attack.
* if value is 0, no limit for login auth, it may not safe for account. when it's a number, it means you can
* try that times today. but it need config redis server.
*/
tryLoginTimes: 0,
// CodePush Web(https://github.com/lisong/code-push-web) login address.
//codePushWebUrl: "http://127.0.0.1:3001/login",
// create patch updates's number. default value is 3
diffNums: 3,
// data dir for caclulate diff files. it's optimization.
dataDir: process.env.DATA_DIR || os.tmpdir(),
// storageType which is your binary package files store. options value is ("local" | "qiniu" | "s3"| "oss" || "tencentcloud")
storageType: "qiniu",
// options value is (true | false), when it's true, it will cache updateCheck results in redis.
updateCheckCache: false,
// options value is (true | false), when it's true, it will cache rollout results in redis
rolloutClientUniqueIdCache: false,
},
结果
重启服务,后面再发布新的热更新后,在云存储的[内容管理]里面,可以直接看到上传的bundle包
然后app端检查的下载地址也变了