侧边栏壁纸
  • 累计撰写 23 篇文章
  • 累计创建 7 个标签
  • 累计收到 0 条评论
标签搜索

目 录CONTENT

文章目录

使用App Center 的CodePush(一)

爱喝酸梅汤的小猫咪
2023-05-30 / 0 评论 / 0 点赞 / 340 阅读 / 1,077 字

使用App Center 的CodePush(一)

背景:codePush作为RN的特性之一,可热更新,提供方便修改代码,快速修改bug

1.注册AppCenter

AppCenter官网注册

16666889999226

android和ios项目配置appcenter

16683888762639

16683889669359

2.创建项目

创建一个项目,MyApp Android ReactNative
16674600144753

3.安装App Center CLI

可以使用 App Center CLI 管理 CodePush 的大多数功能

yarn global add appcenter-cli
或
npm install -g appcenter-cli

16674602276114

4.登录

终端登录

appcenter login

16674611899724

(1).如果网页端没有登录,会自动跳转到appcenter的登录页面
(2).如果网页端已登录,会自动跳转到Access code的页面,复制code,并在终端输入

16674609709391

5.创建App,使用codepush

(1).查看一下apps

$ appcenter apps list

16674613062828

(2).命令创建项目、更新、删除项目

$ appcenter apps create -d <appDisplayName> -o <operatingSystem> -p <platform>
eg:
$ appcenter apps create -d MyApp-Android -o Android -p React-Native

更新
$ appcenter apps update -n <newName> -a <ownerName>/<appName>

删除
$ appcenter apps delete -a <ownerName>/<appName>

(3).设置当前应用程序
如果没有设置当前应用程序,查看所有部署的key 需要添加 -a

appcenter codepush deployment list -a <ownerName>/<appName>
$ appcenter codepush deployment list -a JamesWu23/MyApp-Android
如果设置了当前应用,就可以将 -a 去掉
$ appcenter codepush deployment listÏ

16678025457168

appcenter apps set-current <ownerName>/<appName>
$ appcenter apps set-current JamesWu23/MyApp-Android

查看当前应用 
$ appcenter apps get-current

(4).创建部署
部署可以创建两个,分别是 Staging和 Production

这里的<ownerName>/<appName> 对应的就是 JamesWu23/MyApp-Android

创建
appcenter codepush deployment add -a <ownerName>/<appName> Staging
appcenter codepush deployment add -a <ownerName>/<appName> Production

修改名字  deploymentName = Staging
appcenter codepush deployment rename -a <ownerName>/<appName> <deploymentName> <newDeploymentName>

删除
appcenter codepush deployment remove -a <ownerName>/<appName> <deploymentName>



也可在官网创建
16680461596886

查看部署的密钥(也可在上图的官网中查看Ï)

$ appcenter codepush deployment list --displayKeys
查看
$ appcenter codepush deployment list -a <ownerName>/<appName>

查看部署(也可在上图的官网中查看Ï)

$ appcenter codepush deployment list -a <ownerName>/<appName>

(5).发布更新
发布之前,先创建bundlejs

$ react-native bundle --platform android --dev false --entry-file index.js --bundle-output android/app/src/main/assets/index.android.bundle --assets-dest android/app/src/main/res

--platform 平台 
--entry-file启动文件 
--bundle-output 打包js输出文件 
--assets-dest 资源输出目录 
--dev 是否调试

$ appcenter codepush release -a <ownerName>/<appName> -d Staging -t 1.0.0 -m  --development false --description <description> -c android/app/src/main/assets/index.android.bundle


-a <ownerName>/<appName>  指定应用
-d Staging  此参数指定要将更新发布到的部署。它默认为Staging,但是当您准备部署到Production或您自己的自定义部署之一时,只需显式设置此参数即可。
-t 1.0.0  指定要更新的应用的原生版本
-m|--mandatory false  是强制更新,默认 false
--development false 此参数指定是否生成未缩小的开发JS包。如果未指定,则默认为false禁用警告并缩小包的位置。
--description 内容  此参数为部署提供了可选的“更改日志”。该字符串接受诸如\n和的控制字符,\t因此您可以在描述中包括空格格式,以提高可读性。

以下更为详细
[-t|--target-binary-version <version>]
[-с|--update-contents-path <updateContentsPath>]
[-r|--rollout <rolloutPercentage>]
[--disable-duplicate-release-error]
[-k|--private-key-path <privateKeyPath>]
[-m|--mandatory]
[-x|--disabled]
[--description <description>]
[-d|--deployment-name <deploymentName>]
[-a|--app <ownerName>/<appName>]
[--disable-telemetry]
[-v|--version]

(6).多部署测试
需求:我们在使用过程中,如果有个预发布版本 Staging/debug 在测试之后,没有问题,需要发布到Production/release
可以同步更新到Production/release 并验证其工作

$ appcenter codepush promote -a <ownerName>/<appName> -s Staging -d Production

(7).按比例推送
需求:第6条同步更新,可以按照一定比例推送热更新

$ appcenter codepush promote -a / -s Staging -d Production -r 20%

如果确定没有问题,可以全量更新

$ appcenter codepush promote -a / -d Production -r 100%

(8).回滚部署
需求:如果出现热更新错误,紧急下架,可以回滚应用

$ appcenter 
0
  • 0

评论区