CodePush热更新之Code-Push-Server私服
2019-04-11 本文已影响0人
老鼠AI大米_Java全栈
上节介绍了CordovaApp的热更新实现,却没有实现自己的私服,本节将手把手实现code-push-server
环境准备
需要一台Centos服务器,然后安装如下软件:nodejs,mysql
- 从EPEL库安装Node.js
sudo yum install epel-release
sudo yum install nodejs
安装code-push-server
全局安装
# 全局安装
npm install -g code-push-server
更新配置并初始化数据库
# 修改配置文件
# 修改 db 数据库连接信息
# 修改 qiniu 为七牛相关信息
# 修改 jwt 为相关信息
# 修改 common 里面的 storageType 和 dataDir 和 codePushWebUrl ( 因为用了 code-push-web
vi /usr/lib/node_modules/code-push-server/config/config.js
# 初始化数据库 会在数据库中创建一个 database 名字是 codepush
code-push-server-db init --dbhost localhost --dbuser root --dbpassword password
启动服务
注意,先创建目录(/Users/tablee/workspaces/storage),否则启动报错。
启动完成后,打开 yourIp:3000 进行登录,默认密码为 admin,123456
# 浏览器中打开 http://yourIp:3000
code-push-server
修改登录密码
# 修改密码
$ curl -X PATCH -H "Authorization: Bearer 登录获取的token" -H "Accept: application/json" -H "Content-Type:application/json" -d '{"oldPassword":"123456","newPassword":"654321"}'http://yourIp:3000/users/password
code-push-cli使用
需要先安装 code-push-cli,参照上一篇把代码release到服务器上
npm i -g code-push-cli
# 登录
code-push login http://yourIp:3000/
# 登出
code-push logout
其他命令如下:
- code-push login 登陆
- code-push logout 注销
- code-push access-key ls 列出登陆的token
- code-push access-key rm <accessKye> 删除某个 key值
- code-push app add <appName>
- code-push app <add> <remove> <rename> <list> <transfer>
CordovaApp修改
主要是修改config.xml文件,更新DeploymentKey和CodePushServerUrl
<platform name="android">
<preference name="CodePushDeploymentKey" value="aQJIThQ73BHd8iXS4WIp3X2l7vmx4ksvOXqog" />
<preference name="CodePushServerUrl" value="http://192.168.102.253:3000" />
</platform>
注意,确保手机与服务器在同一网络,否则请求失败。
参考文档: