mcpField
G
gplay-rollout-management

gplay-rollout-management

github.com/tamtom云与 DevOps52351 次安装13 周前更新
代码仓库

关于 gplay-rollout-management

gplay-rollout-management 是管理 Google Play 渐进式发布的技能,面向希望分阶段扩大应用更新覆盖范围的开发者。它说明如何调整、暂停、恢复和完成发布,并结合崩溃率与评论监控提供发布决策参考。

主要功能

  1. 01按比例启动应用发布
  2. 02逐步提高发布覆盖率
  3. 03暂停、恢复或完成发布
  4. 04查询发布进度
  5. 05监控崩溃率与用户评论

适用场景

  1. 01先向部分用户发布新版本
  2. 02发现问题时暂停版本分发
  3. 03依据崩溃率和评论决定是否扩大覆盖

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/tamtom/gplay-cli-skills --skill gplay-rollout-management

安装后在 Claude Code 中输入/gplay-rollout-management确认已加载。

详细介绍

分阶段发布管理

当你需要在 Google Play 上管理渐进式发布时,请使用此技能。

什么是分阶段发布?

分阶段发布会将你的应用发布给一定比例的用户,让你可以:

  • 在全面发布前监控崩溃率和评论
  • 以有限的用户影响发现严重 Bug
  • 随着信心增强,逐步扩大分发范围

开始分阶段发布

在初次发布期间
gplay release \
  --package com.example.app \
  --track production \
  --bundle app-release.aab \
  --rollout 0.1

这会将应用发布给 10% 的用户。

通过分阶段发布进行推广
gplay promote \
  --package com.example.app \
  --from beta \
  --to production \
  --rollout 0.25

提高发布比例

# Increase to 25%
gplay rollout update \
  --package com.example.app \
  --track production \
  --rollout 0.25

# Increase to 50%
gplay rollout update \
  --package com.example.app \
  --track production \
  --rollout 0.5

# Increase to 100% (or use complete)
gplay rollout update \
  --package com.example.app \
  --track production \
  --rollout 1.0

暂停发布

如果发现问题,请暂停分发:

gplay rollout halt \
  --package com.example.app \
  --track production

效果:

  • 停止进一步分发
  • 现有用户仍会保留此更新
  • 新用户不会收到此更新

恢复发布

修复问题后恢复发布:

gplay rollout resume \
  --package com.example.app \
  --track production

完成发布

将应用发布给 100% 的用户:

gplay rollout complete \
  --package com.example.app \
  --track production

查看发布状态

gplay tracks get \
  --package com.example.app \
  --track production \
  | jq '.releases[0].userFraction'

推荐的发布策略

保守策略(7 天发布)
# Day 1: 10%
gplay release --package com.example.app --track production --bundle app.aab --rollout 0.1

# Day 2: 25% (monitor crash rate)
gplay rollout update --package com.example.app --track production --rollout 0.25

# Day 3: 50%
gplay rollout update --package com.example.app --track production --rollout 0.5

# Day 5: 75%
gplay rollout update --package com.example.app --track production --rollout 0.75

# Day 7: 100%
gplay rollout complete --package com.example.app --track production
激进策略(3 天发布)
# Day 1: 25%
gplay release --package com.example.app --track production --bundle app.aab --rollout 0.25

# Day 2: 50%
gplay rollout update --package com.example.app --track production --rollout 0.5

# Day 3: 100%
gplay rollout complete --package com.example.app --track production
谨慎策略(适用于关键应用)
# Day 1: 5%
gplay release --package com.example.app --track production --bundle app.aab --rollout 0.05

# Day 2: 10% (monitor carefully)
gplay rollout update --package com.example.app --track production --rollout 0.1

# Day 3: 25%
gplay rollout update --package com.example.app --track production --rollout 0.25

# Day 5: 50%
gplay rollout update --package com.example.app --track production --rollout 0.5

# Day 7: 75%
gplay rollout update --package com.example.app --track production --rollout 0.75

# Day 10: 100%
gplay rollout complete --package com.example.app --track production

发布期间的监控

检查崩溃率

使用 Play Console → 质量 → Android vitals

监控评论
# Get recent reviews
gplay reviews list \
  --package com.example.app \
  --paginate \
  | jq '.reviews[] | select(.createdTime > "2025-02-05") | {rating, text: .comments[0].userComment.text}'
筛选 1 星评论
gplay reviews list \
  --package com.example.app \
  | jq '.reviews[] | select(.rating == 1) | .comments[0].userComment.text'

决策矩阵

指标操作
崩溃率 < 1%继续发布
崩溃率 1-2%暂停并调查
崩溃率 > 2%暂停;如可行则回滚
1 星评论激增暂停并调查
ANR 率激增暂停并调查
24 小时后没有问题提高发布比例

回滚策略

Google Play 不支持自动回滚,但你可以:

选项 1:上传热修复
# Build hotfix with higher version code
./gradlew bundleRelease

# Release hotfix immediately to 100%
gplay release \
  --package com.example.app \
  --track production \
  --bundle app-hotfix.aab
选项 2:推广先前版本

这要求先前版本仍在 Beta 轨道中:

gplay promote \
  --package com.example.app \
  --from beta \
  --to production

最佳实践

  1. 始终从 <20% 开始 - 尽早发现问题
  2. 每次提高比例后监控 24 小时
  3. 制定热修复计划 - 准备好快速修复严重 Bug
  4. 设置提醒 - 自动监控崩溃率
  5. 在 Beta 阶段充分测试 - 减少生产环境问题
  6. 与用户沟通 - 更新发布说明
  7. 不要操之过急 - 渐进式发布旨在保障安全

应避免的常见错误

❌ 不要:

  • 立即从 10% 跳到 100%
  • 忽视崩溃率上升
  • 在周末或节假日发布(监控速度较慢)
  • 跳过 Beta 测试阶段

✅ 请:

  • 持续监控崩溃率
  • 确保团队在发布期间随时待命
  • 提前准备热修复
  • 向相关方说明预期时间表

自动化示例

使用自动化发布的 CI/CD
# .github/workflows/rollout.yml
name: Automated Rollout

on:
  schedule:
    - cron: '0 9 * * *'  # Daily at 9 AM

jobs:
  increase-rollout:
    runs-on: ubuntu-latest
    steps:
      - name: Get current rollout
        id: current
        run: |
          CURRENT=$(gplay tracks get --package $PACKAGE | jq -r '.releases[0].userFraction')
          echo "fraction=$CURRENT" >> $GITHUB_OUTPUT

      - name: Increase rollout
        if: steps.current.outputs.fraction < 1.0
        run: |
          NEW_FRACTION=$(echo "${{ steps.current.outputs.fraction }} + 0.25" | bc)
          gplay rollout update --package $PACKAGE --track production --rollout $NEW_FRACTION

支持

如需手动控制发布,请始终使用 Google Play Console 界面作为备用方案。

评论

支持 Markdown