code-push login 登陆
code-push logout 注销
code-push access-key ls 列出登陆的token
code-push access-key rm <accessKye> 删除某个 access-key
输入code-push app add <appName>即可完成注册。
code-push app add 在账号里面添加一个新的app
code-push app remove 或者 rm 在账号里移除一个app
code-push app rename 重命名一个存在app
code-push app list 或则 ls 列出账号下面的所有app
code-push app transfer 把app的所有权转移到另外一个账号
code-push deployment -k ls <appName>获取 部署秘钥
code-push deployment ls ckhsAndroid -k
code-push release-react <appName> <platform> -t 版本 -d 环境 --des 描述 -m true (强制更新)
code-push release-react MyApp-iOS ios --t 1.0.0 --dev false --d Production --des "1.优化操作流程" --m true
其中参数--t为二进制(.ipa与apk)安装包的的版本;--dev为是否启用开发者模式(默认为false);--d是要发布更新的环境分Production与Staging(默认为Staging);--des为更新说明;--m 是强制更新。
关于code-push release-react更多可选的参数,可以在终端输入code-push release-react进行查看。
script脚本
"codepush-ios": "code-push release-react ckhsIOS ios -m true",
"codepush-android": "code-push release-react ckhsAndroid android -m true",
"codepush-product-ios":"code-push release-react ckhsIOS ios --d Production --m true",
"codepush-product-android":"code-push release-react ckhsAndroid android --d Production -m true",
-
更新规则
1> CodePush部署版本 > App版本更新可用,但当前版本比运行版本高。不作更新
2> CodePush部署版本 < App版本
不执行更新处理
3> CodePush部署版本 == App版本
自动下载更新,并根据加载策略加载最新bundle
-
回滚
当部署的版本不同时,不能跨版本回滚。
例如:CodePush历史版本中为2.10.1,此时发布2.10.2版本。当从2.10.2发起回滚操作回到2.10.1时,是不可行的。
问题探讨:
用户安装版本为1.0.1
迭代更新上传 版本 1.1.0 上传到应用市场新的包
针对1.0.1做更新,1.1.0 运行版本大于发布的热更新版本 不做更新,1.0.1的用户可进行更新。
问题来了:当版本迭代到1.2.0时
每次迭代都要针对1.0.1 的用户,1.1.0的用户?如果发了n多个版本都要针对安装不同的用户版本去发布更新内容吗?
测试下之后: