Skip to content

GitLab

  • Projects
  • Groups
  • Snippets
  • Help
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in
C
CodePush-iOS
  • Project overview
    • Project overview
    • Details
    • Activity
    • Releases
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 0
    • Issues 0
    • List
    • Boards
    • Labels
    • Service Desk
    • Milestones
  • Merge Requests 0
    • Merge Requests 0
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Operations
    • Operations
    • Incidents
    • Environments
  • Analytics
    • Analytics
    • CI/CD
    • Repository
    • Value Stream
  • Wiki
    • Wiki
  • Members
    • Members
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • Demo
  • CodePush-iOS
  • Wiki
  • code push概念及常用命令

code push概念及常用命令 · Changes

Page history
john.huang created page: code push概念及常用命令 authored Oct 28, 2019 by John Huang's avatar John Huang
Show whitespace changes
Inline Side-by-side
Showing with 89 additions and 0 deletions
+89 -0
  • code-push概念及常用命令.md code-push概念及常用命令.md +89 -0
  • No files found.
code-push概念及常用命令.md 0 → 100644
View page @ edc2741b
# 概述
本文档在于两个方面:
1. 针对Code Push的一些常见概念进行解释。
2. 针对公司的常见开发情景罗列及介绍Code Push的常用命令。
关于Code Push的详细信息请参考下面链接:
1. [Github微软Code Push Plugin(概述、英文、需梯子)](https://github.com/microsoft/cordova-plugin-code-push#getting-started)
2. [Github微软Code Push CLI工具(英文、需梯子)](https://github.com/microsoft/code-push/blob/master/cli/README.md#releasing-updates)
3. [react-native-code-push进阶篇(高级用例,中文,无需梯子)](https://juejin.im/post/599962f36fb9a0247942a6f1)
# Code Push概念
`AppCenter`,应用中心。微软提供的一个应用管理平台。平台提供了热更新,应用监控等工具。其中Code Push是其提供的代码热更新管理工具。我们可以在AppCenter上面创建应用管理项目,管理我们实际发布的App。
`Release`,发布,热更新推送。当我们更新了代码,通过Code Push把更新推送到客户端。这样的操作,称作一次发布,release。
`Deployment`,部署。若干个release组成一个有前后依赖上下文的更新流称为一个部署,deployment。在创建App的时候Code Push会自动创建两个部署,Production和Staging。前者用作在线部署,后者则用作测试。Code Push还允许我们添加删除deployment,但通常我们并不会有这种需求。
# 常用Code Push常用命令
## 账号管理
```shell
code-push login
```
在终端登录AppCenter,该命令会在浏览器打开AppCenter登录页面,然后要求输入登录token。当用户在浏览器成功登录以后,网页会返回一个token,在终端输入该token就可以完成终端的登录。
```shell
code-push logout
```
在终端登出AppCenter。
```shell
code-push whoami
```
查看终端当前登录的账号。
## App管理
```shell
code-push app add <appName> <os> <platform>
```
创建AppCenter应用管理项目。 譬如:`code-push app add MyApp-iOS ios cordova`。
```shell
code-push app rm <appName>
```
删除AppCenter应用管理项目。
```shell
code-push app ls
```
罗列AppCenter中的应用管理项目。
## Release管理
```shell
code-push release-cordova <appName> <os> -d <deploymentName> -t <targetBinaryVersion> -m
```
推送cordova App热更新。常用的参数有以下这些:
`-t`,`--targetBinaryVersion`,指定需要更新到该版本的版本。关于版本指定的更多信息,请参考下表。一般来说,我们输入大版本号,譬如^1.0.0,^2.0.0...即可。大版更新尽可能与项目架构、数据结构、API接口更新相关,这种情况更适合通过发布完整的应用进行更新。
| Range | Expression Who gets the update |
| --- | --- |
| 1.2.3 | Only devices running the specific binary version 1.2.3 of your app |
| * | Any device configured to consume updates from your CodePush app |
| 1.2.x | Devices running major version 1, minor version 2 and any patch version of your app |
| 1.2.3 - 1.2.7 | Devices running any binary version between 1.2.3 (inclusive) and 1.2.7 (inclusive) |
| >=1.2.3 <1.2.7 | Devices running any binary version between 1.2.3 (inclusive) and 1.2.7 (exclusive) |
| 1.2 | Equivalent to >=1.2.0 <1.3.0 |
| ~1.2.3 | Equivalent to >=1.2.3 <1.3.0 |
| ^1.2.3 | Equivalent to >=1.2.3 <2.0.0 |
`-m`,`--mandatory`,指定该版本是否强制,该选项可以在推送过后再进行修改。理解强制更新我们先设想3个版本,v1,v2,v3。
譬如说,v2修改了数据库结构,如果从v1直接升级到v3可能会造成数据存储问题。这个时候,我们需要对v2设置强制更新。让CP知道从v1升级到v3必须经历v2。因为公司的开发一般都基于前一个版本递进式更新,所以建议,推送的时候如果没有特殊情况应该都`-m`。
在不指定该参数的情况下,默认为【不】强制更新。
`-d`, `--deployment-name` 指定`部署`。在不指定该参数的情况下,默认为Staging。
例如:`code-push release-cordova MyApp-iOS ios -d Staging -t "^1.0.0" -m`。
意思是为cordova项目MyApp-iOS推送更新。应用系统为iOS;部署为Staging;把所有>=1.0.0,<2.0.0的终端标识为更新目标;把该release识别为强制更新。
```shell
code-push patch -a <ownerName>/<appName> <deploymentName> -l <releaseLabel>
```
为release打补丁(修改配置)。
例如`code-push -a MyApp-iOS Staging -l v3 -m`。
意思是对应用管理项目"MyApp-iOS"的Staging部署的标识为v3的release进行修改。修改内容是把该release改成`强制更新`(`-m`)。
\ No newline at end of file
Clone repository
  • code push概念及常用命令
  • codepush研究记录
  • Home