gplay-release-flow について
gplayコマンドラインでGoogle PlayのAndroidアプリ公開を管理するスキルです。公開トラック、段階的ロールアウト、メタデータ、検証、トラック間の昇格を扱います。
主な機能
- 01テスト・本番トラックへの公開
- 02段階的ロールアウトの管理
- 03ストア掲載情報とスクリーンショットのアップロード
- 04多言語リリースノートの設定
- 05リリースの検証と昇格
活用シーン
- 01Androidアプリのビルド公開
- 02本番リリースの段階的な拡大
- 03テスト済みビルドのトラック昇格
- 04公開前のリリース確認
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ tamtom/ gplay-cli-skills --skill gplay-release-flowインストール後、Claude Code で/gplay-release-flowを入力して読み込まれたか確認します。
詳細
リリースフロー(内部、ベータ、本番)
Google Play ストアに新しいビルドを公開する必要がある場合に、このスキルを使用します。
前提条件
- 認証情報が設定されていることを確認します(
gplay auth loginまたはGPLAY_SERVICE_ACCOUNT環境変数)。 - ビルドは AAB(App Bundle)または APK である必要があります。
- バージョンコードは以前のリリースより大きい必要があります。
- サービスアカウントには、Play Console で「リリース マネージャー」権限が必要です。
Android リリース
エンドツーエンドで実行する場合の推奨コマンド
内部トラック(内部テスト用):
gplay release \
--package com.example.app \
--track internal \
--bundle app-release.aab
ベータトラック(ベータテスター用):
gplay release \
--package com.example.app \
--track beta \
--bundle app-release.aab \
--release-notes @release-notes.json
段階的ロールアウトを伴う本番リリース(段階的に公開):
gplay release \
--package com.example.app \
--track production \
--bundle app-release.aab \
--release-notes @release-notes.json \
--rollout 0.1
ドライラン(実行せずにリリースをプレビュー):
gplay release \
--package com.example.app \
--track production \
--bundle app-release.aab \
--dry-run
メタデータ(ストア掲載情報とスクリーンショット)を含むリリース
ディレクトリからストア掲載情報を含める:
gplay release \
--package com.example.app \
--track production \
--bundle app-release.aab \
--listings-dir ./metadata \
--screenshots-dir ./metadata
メタデータまたはスクリーンショットをスキップする:
# Upload bundle only, skip metadata sync
gplay release \
--package com.example.app \
--track production \
--bundle app-release.aab \
--skip-metadata
# Upload bundle and metadata, skip screenshots
gplay release \
--package com.example.app \
--track production \
--bundle app-release.aab \
--listings-dir ./metadata \
--skip-screenshots
掲載情報とスクリーンショットのディレクトリを組み合わせる:
gplay release \
--package com.example.app \
--track beta \
--bundle app-release.aab \
--listings-dir ./metadata/listings \
--screenshots-dir ./metadata/images \
--release-notes @release-notes.json
手動の手順(より細かく制御する場合)
-
編集セッションを作成:
EDIT_ID=$(gplay edits create --package com.example.app | jq -r '.id') -
バンドルをアップロード:
gplay bundles upload \ --package com.example.app \ --edit $EDIT_ID \ --file app-release.aab -
トラックを更新:
gplay tracks update \ --package com.example.app \ --edit $EDIT_ID \ --track production \ --releases @releases.json--releasesには、トラックリリースの JSON 配列(または@file)を指定します。 -
編集を検証:
gplay edits validate --package com.example.app --edit $EDIT_ID -
編集をコミット(変更を公開):
gplay edits commit --package com.example.app --edit $EDIT_ID
トラックの昇格
リリースをあるトラックから別のトラックに昇格させます。
# Promote from internal to beta
gplay promote \
--package com.example.app \
--from internal \
--to beta
# Promote from beta to production with 25% rollout
gplay promote \
--package com.example.app \
--from beta \
--to production \
--rollout 0.25
段階的ロールアウトの管理
ロールアウト率 10% で開始(割合 0.1):
gplay release \
--package com.example.app \
--track production \
--bundle app.aab \
--rollout 0.1
50% に引き上げる(割合 0.5):
gplay rollout update \
--package com.example.app \
--track production \
--rollout 0.5
ロールアウトを停止(配信を一時停止):
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
リリースノートの形式
--release-notes フラグは、JSON 配列(複数ロケール)、プレーンテキスト(en-US に自動割り当て)、またはいずれかを指定する @file パスの 3 つの形式を受け付けます。ロケール専用のフラグはありません。
JSON 配列形式(複数ロケール)
release-notes.json — {language, text} エントリの JSON 配列:
[
{ "language": "en-US", "text": "Bug fixes and performance improvements" },
{ "language": "es-ES", "text": "Correcciones de errores y mejoras de rendimiento" },
{ "language": "fr-FR", "text": "Corrections de bugs et améliorations des performances" }
]
--release-notes @release-notes.json で渡します。
プレーンテキスト形式(単一ロケール)
リリースノートをプレーンテキストで指定すると、en-US に自動割り当てされます:
gplay release \
--package com.example.app \
--track beta \
--bundle app.aab \
--release-notes "Bug fixes and performance improvements"
または、ファイル(プレーンテキストまたは JSON 配列)を @ で指定します:
gplay release \
--package com.example.app \
--track beta \
--bundle app.aab \
--release-notes @release-notes.txt
リリースフラグのリファレンス
| フラグ | 説明 |
|---|---|
--package | アプリのパッケージ名(必須) |
--track | 対象トラック(production、beta、alpha、internal。デフォルト:internal) |
--bundle | AAB ファイルのパス(--bundle または --apk のどちらか一方を使用) |
--apk | APK ファイルのパス(--bundle の代わりに指定) |
--release-notes | リリースノート:プレーンテキスト(en-US に自動割り当て)、{language, text} の JSON 配列、または @file |
--rollout | 段階的ロールアウトの割合(0.0~1.0。デフォルト:全体にロールアウトする場合は 1.0) |
--listings-dir | 同期するストア掲載情報を含むディレクトリ |
--screenshots-dir | アップロードするスクリーンショットを含むディレクトリ |
--skip-metadata | リリース中のメタデータ/掲載情報の同期をスキップ |
--skip-screenshots | リリース中のスクリーンショットのアップロードをスキップ |
--dry-run | 実行せずにリリースをプレビュー |
--output | 出力形式(json、table、markdown) |
リリース前チェックリスト
リリース前に、次の項目を確認してください。
- バージョンコードが増加している
- AAB/APK が正しいキーストアで署名されている
- ProGuard/R8 のマッピングファイルがアップロードされている(クラッシュレポート用)
- すべてのロケールのリリースノートが作成されている
- 内部/ベータトラックでテストが完了している
- サービスアカウントに適切な権限がある
- ドライランが成功する:
gplay release ... --dry-run
一般的なリリース戦略
戦略 1:内部 -> ベータ -> 本番
# Week 1: Internal
gplay release --package com.example.app --track internal --bundle app.aab
# Week 2: Beta (after testing)
gplay promote --package com.example.app --from internal --to beta
# Week 3: Production with staged rollout
gplay promote --package com.example.app --from beta --to production --rollout 0.1
gplay rollout update --package com.example.app --track production --rollout 0.5 # Day 2
gplay rollout complete --package com.example.app --track production # Day 7
戦略 2:段階的ロールアウトで本番に直接リリース
# Day 1: 10%
gplay release --package com.example.app --track production --bundle app.aab --rollout 0.1
# Day 2: 25%
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 7: 100%
gplay rollout complete --package com.example.app --track production
戦略 3:メタデータを含む全体リリースとドライランによる検証
# 1. Dry run to verify everything
gplay release \
--package com.example.app \
--track production \
--bundle app.aab \
--listings-dir ./metadata \
--screenshots-dir ./metadata \
--release-notes @release-notes.json \
--rollout 0.1 \
--dry-run
# 2. Execute the release
gplay release \
--package com.example.app \
--track production \
--bundle app.aab \
--listings-dir ./metadata \
--screenshots-dir ./metadata \
--release-notes @release-notes.json \
--rollout 0.1
注記
- コマンドごとの正確なフラグを確認するには、必ず
--helpを使用してください。 - 人が読みやすい出力には
--output tableを使用します。デフォルトは JSON です。 - CI/CD では、
GPLAY_SERVICE_ACCOUNT環境変数を使用します。 - クラッシュ時のシンボル化のため、各リリース後に難読化解除ファイルをアップロードしてください。
- 実際にデプロイする前にリリースを検証するには、CI で
--dry-runを使用してください。