此注册表固定版本所收录的最新上游作者日期。

gplay-rollout-management

已同步 v1.1.0 许可证: MIT 来源: tamtom/gplay-cli-skills/skills/gplay-rollout-management 提交: 10301b2 收录的最新变更:

Staged rollout orchestration and monitoring for Google Play releases. Use when implementing gradual release strategies.

摘要

用途
控管 Google Play 应用程序的分阶段发布,以限制问题造成的影响。
使用时机
在选择或调整发布比例、暂停或恢复发布,或在全面发布前评估发布状况时使用。
输出结果
提供启动、调整、检查、停止、恢复及完成分阶段发布的指令与指南,并说明如何监控当机与评论,以及透过修补版本或推广先前版本处理问题。
上游变更(2 条,最新收录 2026-07-04)
439c9ae fix(skills): audit cleanup — correct every command, cut dead weight, add drift guardrail (#3) 此技能中的发布、推广、推出更新及时程范例,现在使用 rollout 小数比例(例如以 0.1 表示 10%),而非整数百分比。
acb31df Initial commit: Google Play CLI Skills repository 添加的技能文档说明 Google Play 分阶段推出流程,涵盖推出控制、监控与决策指引、回滚选项及 CI/CD 自动化范例。
npx skills add "lettucebo/Skills#v2.2.0@gplay-rollout-management" --full-depth

⚠ v2.2.0 发布后即可使用

Staged Rollout Management

Use this skill when you need to manage gradual releases on Google Play.

What is Staged Rollout?

Staged rollout releases your app to a percentage of users, allowing you to:

  • Monitor crash rates and reviews before full release
  • Catch critical bugs with limited user impact
  • Gradually increase distribution as confidence grows

Start a Staged Rollout

During initial release

gplay release \
  --package com.example.app \
  --track production \
  --bundle app-release.aab \
  --rollout 0.1

This releases to 10% of users.

Promote with rollout

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

Increase Rollout Percentage

# 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

Halt Rollout

Pause distribution if issues are detected:

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

Effect:

  • Stops further distribution
  • Existing users keep the update
  • New users don't receive the update

Resume Rollout

Resume after fixing issues:

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

Complete Rollout

Release to 100% of users:

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

Check Rollout Status

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

Recommended Rollout Strategy

Conservative (7-day rollout)

# 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

Aggressive (3-day rollout)

# 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

Cautious (for critical apps)

# 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

Monitoring During Rollout

Check crash rate

Use Play Console → Quality → Android vitals

Monitor reviews

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

Filter 1-star reviews

gplay reviews list \
  --package com.example.app \
  | jq '.reviews[] | select(.rating == 1) | .comments[0].userComment.text'

Decision Matrix

Metric Action
Crash rate < 1% Continue rollout
Crash rate 1-2% Halt, investigate
Crash rate > 2% Halt, rollback if possible
1-star reviews spike Halt, investigate
ANR rate spike Halt, investigate
No issues after 24h Increase rollout

Rollback Strategy

Google Play doesn't support automatic rollback, but you can:

Option 1: Upload hotfix

# 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

Option 2: Promote previous version

This requires the previous version still be in beta track:

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

Best Practices

  1. Always start with <20% - Catch issues early
  2. Monitor for 24 hours between increases
  3. Have a hotfix plan - Be ready to fix critical bugs quickly
  4. Set up alerts - Monitor crash rates automatically
  5. Test thoroughly in beta - Reduce production issues
  6. Communicate with users - Update release notes
  7. Don't rush - Gradual rollout is for safety

Common Mistakes to Avoid

❌ Don't:

  • Jump from 10% to 100% immediately
  • Ignore crash rate increases
  • Roll out during weekends/holidays (slower monitoring)
  • Skip beta testing phase

✅ Do:

  • Monitor crash rates constantly
  • Have team available during rollout
  • Prepare hotfix in advance
  • Communicate expected timeline to stakeholders

Automation Example

CI/CD with automated rollout

# .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

Support

For manual rollout control, always use the Google Play Console UI as a backup.

历史

v1.1.0 baseline-verified 10301b2
v1.1.0 license-refresh 10301b2