CodePush的用法

2017-11-20  本文已影响114人  lzh_coder

1,安装code-push命令行工具

npm install -g code-push-cli

2,注册code-push账号。

code-push register

3,添加app

code-push app add  FreshToHome_Customer_iOS   ios  react-native

code-push app add  FreshToHome_Customer_Android   android  react-native

此处记下app测试和正式发布的key。

4,项目根目录下安装code-push的依赖

yarn add react-native-code-push

5,将依赖link到原生项目里面,此时需要填写iOS和Android应用的deploymentKey,这两个deploymentKey分别写入到ios目录下的info.plist文件(CodePushDeploymentKey)和android目录下的strings.xml,这里填写staging下的key。

6,在JS项目里面添加更新检测的代码,推荐使用sync接口。

7,发布更新

这个命令自动打包和上传包到codePush的server,上传到Staging

code-push release-react FreshToHome_Customer_iOS ios

code-push release-react <AppName> <platform>

[--bundleName]

[--deploymentName]

[--description]

[--development]

[--disabled]

[--entryFile]

[--mandatory]

[--sourcemapOutput]

[--targetBinaryVersion]

[--rollout]

里面有个--deployName这里可以设置deploy的环境,Staging  or   Production.

8,版本转移

此外,我们还可以选择Staging里面的稳定的版本,直接转移到Production下,进行发布。将Staging下的最后一个更新版本复制转移到Production下,成为一个版本。

code-push promote FreshToHome_Customer_iOS Staging Production

9,查看部署状态:

查看app在Staging和Production下的部署状态:

code-push deployment ls FreshToHome_Customer_iOS

查看app在Staging状态下的部署历史

code-push deployment history FreshToHome_Customer_iOS Staging

10,版本回退。

code-push rollback  <AppName>  <deploymentName>

版本回退的本质是产生一个新版本。

11,修改更新。

code-push patch <AppName>  <deploymentName>

[--label]

[--description ]

[--disabled]

[--mandatory]

[--rollout ]

需要注意:

正常更新需要做到两点:

1,banary的版本,也就是app原生的版本没有变。

2,js的内容要发生变化,如果没有变化,将会发布更新失败,将--noDuplicateReleaseError设置为true,js代码没有发生变化,不会报错,依然发布更新会失败。

参考文章:

http://www.jianshu.com/p/f8689ccf0007

https://github.com/Microsoft/code-push/blob/master/cli/README-cn.md#%E5%8F%91%E5%B8%83%E6%9B%B4%E6%96%B0-react-native

https://segmentfault.com/a/1190000008591456#articleHeader9

code-Push功能列表:

安装:npm install -g code-push-cli

注册账号:code-push register

登陆:code-push login

注销:code-push logout

添加项目:  code-push app add [app名称]  ios

删除项目:  code-push app remove [app名称]

列出账号下的所有项目:  code-push app list

显示登陆的token:  code-push access-key ls

删除某个access-key: code-push access-key rm [accessKey]

添加协作人员:code-push collaborator add next@126.com

添加一个部署:code-push deployment add [AppName]  [DeployName]

删除部署:code-push deployment remove [AppName]  [DeployName]

列出应用的部署:code-push deployment ls [AppName]

查询部署环境的key:code-push deployment ls  [AppName]  -k

查看部署的历史版本信息:code-push deployment history  [AppName]  [DeployName]

重命名一个部署:code-push deployment rename [AppName] [CurrentDeployName]  [NewDeployName]

项目中使用需要注意的事项:

1,每一个js发布,都有对应的发布号,如v20,以及对应的binary版本号,如1.3.0,1.3(需要注意,1.3和.1.3.0会被认为是同一个binary版本)

2,使用relese-react命令时,如果不指定binary的版本号,对Android的js包来说,会从gradle的配置中去读binary的版本号,iOS会从对应的info.plist中,查到version的版本号。

3,指定js包的disabled为true时,已经安装该js包的用户,会提示更新,这时会更新到该binary版本下的上一个js包。没有安装该js包的用户,不会安装到这个js包。

4,命令行发布js包的时候,更新描述,--description里面需要换行,使用 '\\n'。

上一篇下一篇

猜你喜欢

热点阅读