由于公司近期要开发一款app,领导要求需要加上热更新服务,所以在网上搜了各种相关的信息,oh my god!由于我是个小白很懵...,所以记录一下。
先从搭建本地code push服务开始。
React Native 如何搭建本地Code Push服务呢?IOS、Android项目配置问题等。
Code Push系列之 - 发布更新
Code Push系列之 - 客户端检查更新
react-native-code-push
是微软针对react-native推出的热更新服务。
本次项目的项目依赖的关键包的版本如下
"react": "16.11.0",
"react-native": "0.62.2",
"react-native-code-push": "^6.2.1",
一、本地Code Push 服务搭建
自建Code Push 服务器
- 安装mysql
mac MySql安装 - 下载code-push-server 仓库
git clone https://github.com/lisong/code-push-server.git
cd code-push-server && npm install
code-push-server推荐使用npm安装
- 修改code-push-server仓库配置
vim config/config.js
-
修改db中的数据库信息,如下:
-
修改local对象的下载地址为本机(或服务器的ip地址)
-
修改jwt对象下的 tokenSecret
打开 https://www.grc.com/passwords.htm, 复制其生成的随机字符串作为秘钥即可。
-
创建storageDir 和 dataDir
根据local对象下的storageDir路径, 创建相应的文件夹
创建common对象下的dataDir文件夹
初始化数据库信息
./bin/db init --dbhost localhost --dbuser root --dbpassword 数据库密码
- 启动本地的code-push服务器
./bin/www
二、Code Push客户端
- 首先全局安装微软提供的code-push-cli工具
npm install code-push-cli@latest -g
常用的code-push命令
- 注册账号: code-push register
- 登陆: code-push login
- 注销: code-push logout
- 列出账号下的所有项目: code-push app list
- 添加项目: code-push app add <appName> <os> <platform>
- 删除项目: code-push app remove <appName>
- 显示登陆的token: code-push access-key ls
- 部署一个环境: code-push deployment add <appName> <deploymentName>
- 删除部署: code-push deployment rm <appName> <deploymentName>
- 列出应用的部署: code-push deployment ls appName
- 查询部署环境的key: code-push deployment ls appName -k
- 清空部署环境 code-push deployment clear <appName> <deploymentName>
- 查看历史版本 code-push deployment history <appName> <deploymentName>
- 回滚到上一个版本 code-push rollback <appName> <deploymentName>
- 登录code-push 服务器
code-push login http://localhost:3000
在弹出的网页中登录,账号:admin, 密码: 123456,然后获取token,将token复制到控制台中登录即可。
- 创建应用
code-push app add CodePushDemoIos ios react-native
code-push app add CodePushDemoAndroid android react-native
- 获取应用的key
code-push deployment ls <appName> -k
appName 是我们创建的应用名称,后面发布应用时也会使用它。
- 查看app的部署环境
code-push deployment ls
那么搭建本地服务就到此了!如有错误请多指教!相互学习,每天进步一点点。
下一篇继续react native项目配置