StudySmarter - 学校 & 大学
教育アプリです。授業、コース、サブスクリプションの変更には、利害関係者のレビューが必要です。
- Google Play インストール
- 6,500,000
- 評価
- 4.8
問題
開発者がPRを開く
変更はレビュー用に準備されているが、誰もまだスマホで試すことができない
ビルド、署名、アップロード
誰かはブランチ用にネイティブバイナリをビルドし、署名し、テストフライトまたはプレイストアのテストトラックにアップロードし、処理を待つ
招待し、インストール
レビュアーはテスターとして追加され、その精確なビルドをインストールする必要がある
修正ごとに繰り返す
各レビューコメントがcodeを変更することは、もう一度ビルド、もう一度アップロード、もう一度インストールを意味する
JavaScriptだけが変更された場合でも、各ラウンドのレビューはネイティブビルドを待つ必要がある
毎回のビルド
ストアの処理を待っています
TestFlight または Play のテストトラックにアップロードした各ビルドは、テスターがインストールできるようになる前に処理されます。それは毎回のビルドに対して発生します。
毎回のPR
独自のネイティブビルドが必要です
ライブアップデートがない場合、レビュアーはウェブのみの変更でも、誰かがビルド、署名、アップロードした新しいバイナリを待つ必要があります。
遅いフィードバック
レビューは作者が他のタスクに移った後に行われます
レビューがビルドを待つと、フィードバックは遅れて、作者は他のタスクに移り、ブランチはメインからずれます。
機能する方法
四つのCIステップ: スコープされたキーを一度設定し、プッシュごとにアップロードし、プレビューを共有し、クローズ時にクリーンアップする。以下のコマンドはすべて、Capgo ドキュメントからです。
アプリのプレビュー用に管理者はCI用のApp Preview API キーを作成します。プレビュー用のチャンネルを作成し、バンドルをアップロードできますが、デフォルトまたはプロダクションチャンネルを変更することはできません。アプリごとにプレビュー機能は1回有効になります。
# once, run by an admin (not the preview key)
npx @capgo/cli@latest app set com.example.app --preview
App Preview API keys
CI の各プッシュで、Web アプリをビルドし、ユニークなバンドル バージョンと共にアップロードします。 bundle upload --channel は、存在しない場合に PR-<number> チャンネルを作成し、バンドルをリンクします。
npx @capgo/cli@latest bundle upload com.example.app \
--apikey "$CAPGO_PREVIEW_KEY" \
--path ./dist \
--channel "pr-$PR_NUMBER" \
--bundle "1.2.3-pr.$PR_NUMBER.$GITHUB_RUN_NUMBER"
チャンネルドキュメントのプルリクビュー
get-qr prints a QR code for the channel, or the preview URLs with --url, so CI can add them to a PR comment.
npx @capgo/cli@latest get-qr com.example.app \
--channel "pr-$PR_NUMBER" \
--apikey "$CAPGO_PREVIEW_KEY" \
--url
QRコード参照
Pull リクエストがクローズされたときに実行してください。 App Preview キーを使用すると、キーで作成されたチャネルとリンクされたバンドルだけが削除されます。
npx @capgo/cli@latest channel delete \
"pr-$PR_NUMBER" com.example.app \
--apikey "$CAPGO_PREVIEW_KEY" \
--delete-bundle \
--success-if-not-found
チャンネル CLI リファレンス
両方がチャンネルを設定する必要があります。App Preview キーではありません。なぜなら、キーの場合、QR プレビューを共有するか、コンソールでデバイスのオーバーライドを設定する必要があるからです。
内部ビルドでメニューを振ってください。テスターはデバイスを振って、Capgoのテストメニューを開き、振るチャンネルセレクターでチャンネルを選択します。
// capacitor.config.ts (internal builds)
CapacitorUpdater: {
shakeMenu: true,
}
開発者設定画面にチャンネルフィールドを追加し、PRチャンネル名でsetChannel()を呼び出します。
import { CapacitorUpdater } from '@capgo/capacitor-updater'
await CapacitorUpdater.setChannel({
channel: 'pr-123',
triggerAutoUpdate: true,
})
setChannel()のリファレンス
誰でもPull Requestを確認している人は、電話で確認できます。作者だけではありません。
チームのニーズに合ったソリューションを探す
Capacitor で作られたアプリ
学習、イベント、コミュニティアプリには、オンボーディング、実践、ライブセッション、サブスクリプションの変更が同時にレビューできます。PR プレビューでは、製品、QA、サポートがマージされる前にモバイル用に準備されたビルドを検査できます。
教育アプリです。授業、コース、サブスクリプションの変更には、利害関係者のレビューが必要です。
イベントフローのテストはマージ前に行う必要があります。
コミュニティアプリでは、デバイスプレビューがトーナメントと分析画面に利活用されます。
CTO、プライベート
「セットアップには1日未満でした。チャネルベースのロールアウトにより、自分のデバイスでテストすることができ、生産ユーザーに到達する前にプロダクションユーザーに到達することができました。」
ネットヘッド エマリターズ
“アップデート プラグインの作業は素晴らしかった。私にとっては、ライブ アップデートは迅速なテストのターンアラウンドを大幅に加速させる素晴らしいアクセラレータでした。”
開発者、Webincode
“特定のグループにデバイス ID を追加して、変更を特定のグループにのみプッシュできるようになることは、人生を救うものでした。”
FAQ
開発者、Webincode
Not when the PR only changes the web layer. Reviewers install the app once, and each PR's JavaScript, HTML, CSS, and assets go to its own channel. If the PR adds a plugin or changes native code, it needs a native build. Run build needed in CI to detect that.
チームがPRプレビューについてよく尋ねる質問Not with an App Preview API key. It can create preview channels, upload bundles, and delete only the channel and bundle it created. It cannot change the default or main channel. In GitHub Actions, run the job on pull_request, not pull_request_target, and limit it to PRs from the same repository.
App Preview API キー管理者は、app set --preview を実行してプレビューを有効化します。その後、get-qr は PR チャンネルの QR code を出力し、--url は Web プレビュー URL とデープリンクを出力します。管理者はこれらの情報を PR コメントに貼り付ける必要があります。
get-qr リファレンス管理者は、プルリクエストがクローズされたイベントにジョブを追加し、channel delete を実行します。このジョブは、--delete-bundle と --success-if-not-found オプションを指定します。App Preview キーが有効化されている場合、このジョブはチャンネルとバンドルを削除します。以前のプッシュから生成されたバンドルは、bundle cleanup を実行することで削除できます。このジョブには、削除権限を持つキーが必要です。
チャンネル CLI リファレンスはい。ステップは Capgo CLI コマンドで、CI でも実行できます。ドキュメントには、GitHub Actions、GitLab CI、Bitbucket Pipelines、Azure DevOps の統合ガイドが含まれています。
CI/CD統合