Dyfan

React Native常用CodePush操作

2020-09-10

示例项目说明

环境 | react-native 0.61.5

react-native-code-push 6.2.1

code-push 2.1.9

注意事项

修改原生文件

包括但不限于原生项目的目录结构,原生项目中的资源文件(如:启动图,应用图标等),原生项目代码(如:*.java,*.gradlew,*.h,*.m),总之IOS/Android目录中有任何变动都不可使用

检查原生项目中的热更新相关配置

(IOS中Build Setting->User-Defined->CODEPUSH_KEY,Android中app->src->main->res->values->strings.xml->CodePushDeploymentKey)是否与线上版本一致

使用热更前先看文档将本地热更环境调试通过

https://github.com/microsoft/react-native-code-push

常用命令(3-6常用,7-15可忽略)

1.查看当前code-push 版本信息及帮助命令

1
code-push whomi

2.登录,执行该命令后会在浏览器弹出一个页面显示token(因为微软服务器在国外,获取token可能需要些时间,还请各位大佬耐心等待或重新获取),将浏览器中的token复制到命令行回车即可

1
code-push login


3.查看应用的热更新安装指标

1
code-push deployment h <AppName> <Production|Staging>

4.提交一个热更新版本

  • -t AppVersion(1.0.4) 指当前要更新的原生版本号
  • desc 指更新说明
  • -r 50 指灰度更新50%(0-100),一般情况下不需要灰度更新
1
code-push release-react <AppName>  <ios|android|windows> -t <AppVersion> -d <Production|Staging> --des <desc> -m true -r 50

5.热更新版本回滚(当热更上的版本有问题时,使用该命令)

  • -t Label(v22) 指回滚到指定的热更新版本,但必须保证原生项目版本一致(如:IOS原生版本为1.0.3,热更版本有v11,v12,v13.原生版本为1.0.2,热更版本为v7,v8,v9.此时若用户手机版本为1.0.2,热更版本为v9,可只可选择回滚至v7|v8,否则回滚失败,1.0.2的原生版本也无法检测到高于自身版本所提供的热更新包)
1
code-push rollback <AppName> <Production|Staging> -t <Label>

6.热更新版本描述修改

  • -t Label(v22) 指要修改的热更新版本
    1
    code-push patch  <AppName>  <Production|Staging>  -l  <Label>  --des  <desc>

7. 查看账号下创建的项目

1
code-push app list

8. 删除已经添加的应用

1
code-push remove <AppName>

9. 重命名一个存在的App

OriginalAppName 为原始名称,name为要变更的名称

1
code-push app rename  <OriginalAppName>  <name>

10. 添加一个项目

1
code-push add  <CreateAppName> <ios|android|windows> react-native

11. 查看账号登录历史(token创建历史)

1
code-push access-key ls

12. 删除某个登录的token授权(若key同名,则由近及远删除最新的)

1
code-push access-key rm  <accessKey>

13. 添加协作者(执行完会发送邀请信息到协作者邮箱)

1
code-push collaborator add  <AppName>  <CollaboratorEmail>

14. 删除一个项目的所有部署(谨慎执行)

1
code-push deployment rm <AppName> <Staging|Priduction>

15. 查看一个项目下的部署

1
code-push deploy h <AppName> <Staging|Production>

操作流程

  1. 修改JS或添加资源文件

  2. 检查code-push登录状态

  3. 进行热更新提交(注意:Android 和 IOS 需要分别提交热更新)

  4. 若出现线上热更版本有问题,及时执行回滚操作

使用支付宝打赏
使用微信打赏

扫描二维码,分享此文章