美文网首页
CodePush的用法

CodePush的用法

作者: lzh_coder | 来源:发表于2017-11-20 17:29 被阅读114次

    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'。

    相关文章

      网友评论

          本文标题:CodePush的用法

          本文链接:https://www.haomeiwen.com/subject/ycvvvxtx.html