メイン コンテンツにスキップ
PR プレビュー

実機で全てのプルリクエストを確認

CI は各プルリクエストのウェブビルドを独自の Capgo チャンネルにアップロードします。レビュアーは QR code をスキャンするか、チャンネルをアプリ内で切り替えてデバイスで試すことができます。プルリクエストがクローズするとチャンネルは削除されます。ネイティブ code の変更は新しいビルドが必要です。

マーティンから人間のサポート

  • 1 つのチャンネルあたり 1 つのプルリクエスト
  • QR code プレビュー
  • クローズ時にクリーンアップ

問題

ウェブの変更は新しいバイナリをレビューする必要がない

ストアテストビルドでPRをレビューする

  1. 開発者がPRを開く

    変更はレビュー用に準備されているが、誰もまだスマホで試すことができない

  2. ビルド、署名、アップロード

    誰かはブランチ用にネイティブバイナリをビルドし、署名し、テストフライトまたはプレイストアのテストトラックにアップロードし、処理を待つ

  3. 招待し、インストール

    レビュアーはテスターとして追加され、その精確なビルドをインストールする必要がある

  4. 修正ごとに繰り返す

    各レビューコメントがcodeを変更することは、もう一度ビルド、もう一度アップロード、もう一度インストールを意味する

JavaScriptだけが変更された場合でも、各ラウンドのレビューはネイティブビルドを待つ必要がある

チームのコスト

毎回のビルド

ストアの処理を待っています

TestFlight または Play のテストトラックにアップロードした各ビルドは、テスターがインストールできるようになる前に処理されます。それは毎回のビルドに対して発生します。

毎回のPR

独自のネイティブビルドが必要です

ライブアップデートがない場合、レビュアーはウェブのみの変更でも、誰かがビルド、署名、アップロードした新しいバイナリを待つ必要があります。

遅いフィードバック

レビューは作者が他のタスクに移った後に行われます

レビューがビルドを待つと、フィードバックは遅れて、作者は他のタスクに移り、ブランチはメインからずれます。

機能する方法

How teams preview pull requests with Capgo

四つのCIステップ: スコープされたキーを一度設定し、プッシュごとにアップロードし、プレビューを共有し、クローズ時にクリーンアップする。以下のコマンドはすべて、Capgo ドキュメントからです。

  1. アプリ プレビュー キーを作成してプレビューを有効化

    アプリのプレビュー用に管理者は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
  2. PRビルドを独自のチャンネルにアップロード

    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"
    チャンネルドキュメントのプルリクビュー
  3. プルリクエストにプレビューを表示

    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コード参照
  4. PR がクローズされたときにチャンネルを削除

    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 リファレンス

レビュアーはどのようにPRチャンネルに切り替えるか

両方がチャンネルを設定する必要があります。App Preview キーではありません。なぜなら、キーの場合、QR プレビューを共有するか、コンソールでデバイスのオーバーライドを設定する必要があるからです。

メニューを振ってください

内部ビルドでメニューを振ってください。テスターはデバイスを振って、Capgoのテストメニューを開き、振るチャンネルセレクターでチャンネルを選択します。

// capacitor.config.ts (internal builds)
CapacitorUpdater: {
  shakeMenu: true,
}

インアプリSwitcher

開発者設定画面にチャンネルフィールドを追加し、PRチャンネル名でsetChannel()を呼び出します。

import { CapacitorUpdater } from '@capgo/capacitor-updater'

await CapacitorUpdater.setChannel({
  channel: 'pr-123',
  triggerAutoUpdate: true,
})
setChannel()のリファレンス

誰がPRプレビューを使用するか

誰でもPull Requestを確認している人は、電話で確認できます。作者だけではありません。

QAエンジニア

  • PRのウェブビルドを自分のデバイスでテスト
  • PRチャンネル間を移動するだけでアプリを再インストールする必要はありません。
  • チャンネル名はPR番号と一致するので、どのcodeが実行されているか分かります。

プロジェクトマネージャ

  • 試みる機能を電話で試す前にマージする
  • Scan the QR code posted on the PR
  • PR自体にフィードバックを残す

開発者

  • PRがまだ開いている間、デバイスからのフィードバックを受け取る
  • 各プッシュはPRチャンネルを更新する
  • JavaScriptのみの変更にはネイティブビルドが必要ない

Store testing builds vs Capgo PR channels

  • 電話にPRをアップロードする

    テストフライト/プレイテスト
    ネイティブビルド、署名、ストアプロセス
    Capgo プルリクチャネル
    CIからWebビルドとパッケージアップロード
  • PR切替

    テストフライト/プレイテスト
    別のビルドをインストール
    Capgo PR チャンネル
    別のQRコードcodeをスキャンするかチャンネルを切り替える
  • レビュアー設定

    テストフライト/プレイテスト
    テスターに招待し、各ビルドをインストール
    Capgo PR チャンネル
    アプリを一度インストール
  • ネイティブcodeとプラグインの変更

    テストフライト / プレイテスト
    はい
    Capgo PR チャンネル
    いいえ、ネイティブビルドが必要

Capacitor で作られたアプリ

製品アプリにはレビュー可能なモバイル変更が必要

学習、イベント、コミュニティアプリには、オンボーディング、実践、ライブセッション、サブスクリプションの変更が同時にレビューできます。PR プレビューでは、製品、QA、サポートがマージされる前にモバイル用に準備されたビルドを検査できます。

StudySmarter - 学校 &amp; 大学アプリ アイコン 教育

StudySmarter - 学校 &amp; 大学

教育アプリです。授業、コース、サブスクリプションの変更には、利害関係者のレビューが必要です。

Google Play インストール
6,500,000
評価
4.8
Poll Everywhere アプリのアイコン ビジネス

アンケート全体

イベントフローのテストはマージ前に行う必要があります。

Google Play インストール
1.1百万
ストア評価
3.2
lichess • 無料オンラインチェスアプリアイコン ゲームボード

lichess • 無料オンラインチェス

コミュニティアプリでは、デバイスプレビューがトーナメントと分析画面に利活用されます。

Google Playのインストール数
11,300万
ストア評価
4.3

顧客の証明

Capgo を使用しているチームが言っていること

5.0/5 開発者チームから評価されています 9,400+ チーム レビューを読む

ナット・ファン・ヨル

CTO、プライベート

「セットアップには1日未満でした。チャネルベースのロールアウトにより、自分のデバイスでテストすることができ、生産ユーザーに到達する前にプロダクションユーザーに到達することができました。」

マイケル・ハーバーラー

ネットヘッド・エメリット

ネットヘッド エマリターズ

&ldquo;アップデート プラグインの作業は素晴らしかった。私にとっては、ライブ アップデートは迅速なテストのターンアラウンドを大幅に加速させる素晴らしいアクセラレータでした。&rdquo;

Webincode

開発者、Webincode

&ldquo;特定のグループにデバイス ID を追加して、変更を特定のグループにのみプッシュできるようになることは、人生を救うものでした。&rdquo;

FAQ

質問

開発者、Webincode

5点中5点

Not when the PR only changes the web layer. Reviewers install the app once, and each PR&#39;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プレビューについてよく尋ねる質問

CIを設定する人とレビューする人にとっての直感的な答えです。

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 リファレンス

古い PR チャンネルとバンドルはどうなるの?

管理者は、プルリクエストがクローズされたイベントにジョブを追加し、channel delete を実行します。このジョブは、--delete-bundle と --success-if-not-found オプションを指定します。App Preview キーが有効化されている場合、このジョブはチャンネルとバンドルを削除します。以前のプッシュから生成されたバンドルは、bundle cleanup を実行することで削除できます。このジョブには、削除権限を持つキーが必要です。

チャンネル CLI リファレンス

GitLab、Bitbucket、Azure DevOps とどのように動作するの?

はい。ステップは Capgo CLI コマンドで、CI でも実行できます。ドキュメントには、GitHub Actions、GitLab CI、Bitbucket Pipelines、Azure DevOps の統合ガイドが含まれています。

CI/CD統合

次のプルリクエストをスマートフォンでプレビューする

CIにアップロード、QR、クリーンアップステップを追加して、無料試用期間中に自分のアプリケーションでテストしてください。

マーティンによる人間のサポート

14日間の無料試用期間、クレジットカードなし。ネイティブの変更は新しいビルドが必要です。