Skip to content

Commit 66f8e67

Browse files
committed
publish
1 parent 5b346a1 commit 66f8e67

1 file changed

Lines changed: 45 additions & 2 deletions

File tree

site/pages/docs/publish.mdx

Lines changed: 45 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -149,6 +149,49 @@ Would you like to bind packages to this version?(Y/N)
149149

150150
恭喜你,至此为止,你已经完成了植入代码热更新的全部工作。
151151

152-
## 测试与回滚
152+
## 灰度发布
153153

154-
请参考最佳实践中的[测试与回滚](bestpractice#测试与回滚)章节。
154+
灰度发布(又称金丝雀发布、渐进式发布)是一种降低热更新发布风险的策略,通过逐步扩大更新范围来验证新版本的稳定性。
155+
156+
### 什么是灰度发布
157+
158+
灰度发布是指在正式全量发布热更新之前,先将更新推送给一小部分用户(如 5%、10%),观察这部分用户的使用情况后,再逐步扩大更新比例,直到最终推送给所有用户。
159+
160+
### 灰度发布的作用
161+
162+
- **降低风险**:如果新版本存在 bug,只会影响小部分用户,可以及时发现并回滚
163+
- **验证稳定性**:通过小范围用户的真实使用反馈,验证新版本在各种设备和网络环境下的表现
164+
- **平滑过渡**:避免突然的全量更新对服务器造成的压力峰值
165+
- **快速止损**:一旦发现问题,可以立即停止灰度,将影响范围控制在最小
166+
167+
### 工作原理
168+
169+
当你设置了灰度比例(如 10%)后,检查更新时会根据每个用户的设备 UUID 进行哈希计算,确定该用户是否在灰度范围内:
170+
171+
- 灰度范围内的用户会收到新版本的更新推送
172+
- 灰度范围外的用户会收到上一个全量版本(如果有),或显示为已是最新
173+
- 同一用户的灰度状态是稳定的,不会因为多次检查更新而变化
174+
175+
### 使用方法
176+
177+
#### 通过网页端操作
178+
179+
1. 登录 [Pushy 管理后台](https://update.reactnative.cn)
180+
2. 选择对应的应用和原生包版本
181+
3. 点击"发布"按钮
182+
4. 选择灰度发布比例
183+
184+
#### 通过命令行操作
185+
186+
请查看[命令行工具文档中的 rollout 参数](cli#pushy-update)
187+
188+
### 注意事项
189+
190+
<Callout type="warning">
191+
**重要提示**:灰度版本与全量版本是独立的绑定关系。
192+
</Callout>
193+
194+
- **同时只能有一个灰度版本**:每个原生包版本只能绑定一个灰度热更版本(比例小于100%)和一个全量热更版本
195+
- **优先级**:如果同时存在灰度版本和全量版本,灰度范围内命中的用户会收到灰度版本,没有命中的用户会收到全量版本
196+
- **提升为全量**:将灰度比例设置为 100% 后,该版本会自动提升为全量版本,替换原有的全量版本
197+
- **客户端版本要求**`react-native-update` >= 10.32.0 才能支持同时发布灰度和全量版本。

0 commit comments

Comments
 (0)