Firebase Summit で発表されたすべての情報をご覧ください。Firebase を使用してアプリ開発を加速し、自信を持ってアプリを実行する方法を紹介しています。詳細

CI/CD を使用して Android アプリを QA テスターに​​配布するためのベスト プラクティス

コレクションでコンテンツを整理 必要に応じて、コンテンツの保存と分類を行います。

このドキュメントでは、Firebase App Distribution を使用して、Android のプレリリース テスト ワークフローを持続可能にし、CI/CD 環境で繰り返し使用できるようにするためのベスト プラクティスを紹介します。ソリューションには Gradle と fastlane が含まれますが、さらに柔軟性を高めるために、Firebase コンソール、Firebase CLI、パブリック Firebase App Distribution API から利用できるソリューションも含まれています。また、最適なエクスペリエンスを事前に計画できるように、リリースとテスターの制限についても説明します。

Apple プラットフォームも使用している場合は、「 CI/CD と fastlane を使用して Apple アプリを QA テスターに​​配布するためのベスト プラクティス」を参照してください。

あなたが始める前に

このドキュメントのベスト プラクティスを実装する前に、各アプリの Firebase コンソールでApp Distribution を有効にしてください。 App Distribution を有効にしていない場合は、404 エラーが発生します。

App Distribution を有効にするには、次の手順に従います。

  1. Firebase コンソールで [ App Distribution] ページを開きます。
  2. Android アプリを選択します。
  3. [はじめに] をクリックします。

Android アプリ バンドル (AAB) が最も一般的な Android パッケージ形式になりつつあることを考えると、 Google Play にリンクして AAB をテスターに​​配布する機能をセットアップすることをお勧めします。

CI/CD パイプラインを使用してプレリリース テスト ワークフローを自動化する

アプリのビルドとテスターへのリリースを自動化する必要があり、CI/CD を使用している場合は、 fastlaneまたはGradleを使用することをお勧めします。もう 1 つのオプションは、さまざまな Firebase プロダクトにアクセスできるFirebase CLIを使用することです。

ファストレーンを使う

iOS および Android アプリのビルドとリリースを自動化するオープン ソース ツールである fastlane を使用して、App Distribution を CI/CD パイプラインに統合します。最新のリリースをビルドしてテスターに​​自動的に配布することで、テスターがアプリの最新のテスト バージョンを常に利用できるようにします。

App Distribution を fastlane と統合する方法については、「fastlaneを使用して Android アプリをテスターに​​配布する」を参照してください。

Gradle を使用する

Gradle を使用して、App Distribution Gradle プラグインを使用して App Distribution を Android ビルド プロセスに統合します。プラグインを使用すると、アプリのbuild.gradleファイルでテスターとリリース ノートを指定できます。これにより、アプリのさまざまなビルド タイプとバリアントのディストリビューションを構成できます。

App Distribution を Gradle と統合する方法については、「Gradleを使用して Android アプリをテスターに​​配布する」を参照してください。

Firebase CLI を使用する

App Distribution が提供する Firebase CLI ツールを使用して、ビルドをテスターに​​プログラムで配布します。ビルドのテスターとリリース ノートを指定できます。

アプリの Firebase アプリ ID を指定し、必要に応じてリリース ノートとテスターのメールを含むファイルを追加して、最新の Android ビルドを配布します。

firebase appdistribution:distribute test.aab  \
    --app 1:1234567890:android:0a1b2c3d4e5f67890  \
    --release-notes "Bug fixes and improvements" --testers-file testers.txt

Firebase CLI を使用してビルドを自動化する方法について詳しくは、Firebase CLI を使用してテスターに​​ Android アプリを配布するをご覧ください。

サービス資格情報を使用して認証する

サービス アカウントで App Distribution fastlane プラグインGradle プラグイン、または Firebase CLI を使用します。サービス アカウントは、(ユーザーではなく) アプリケーションを表す Google アカウントの一種です。 CI システムでは、サービス アカウントを使用して App Distribution ワークロードを実行できます。詳細については、サービス アカウントによる認証を参照してください。

Workload Identity フェデレーションを使用している場合は、サービス アカウント キーの代わりに資格情報構成ファイルを生成して使用できます。

リリース制限に注意してください

App Distribution は、アプリごとに最大 1,000 のリリースをサポートします。つまり、リリース制限を超えると、App Distribution は制限を超えた最も古いリリースを自動的に削除します。リリース制限を管理する方法については、「アプリのリリースはいつまで利用できますか?」を参照してください。

同じテスターのセットを複数のリリースに追加する

リリースに多数のテスターを追加する場合は、App Distribution の一括テスター管理機能を使用してください。

グループを使用して、同じテスターを複数のリリースに追加することをお勧めします。グループはアクセス制御リストとして機能します。グループからテスターを削除すると、テスターはそのグループに配布されたすべてのリリースにアクセスできなくなります。詳細については、テスターをグループに追加およびグループから削除する を参照してください。

管理するテスターが多数いる場合は、Firebase コンソールを使用してテスターを一括で追加および削除できます。テスターの追加と削除を自動化するには、 Firebase CLIfastlaneGradle 、またはパブリック Firebase App Distribution API を使用します。

テスターの制限に注意してください

App Distribution は、Firebase プロジェクトまたは App Distribution グループに追加できるテスターの数を制限します。これらの制限を超えると、追加のテスターに​​アプリを配布できなくなります。テスターの制限について詳しくは、「アプリにテスターを追加する際に制限はありますか?」を参照してください。

潜在的なテスターがテストのために自己登録できるようにする

アプリをより多くのテスターに​​配布しやすくするために、招待リンクを使用することをお勧めします。招待リンクは、テスターが電子メール アドレスを入力してアプリのテストにサインアップできる一意の URL です。ユーザーが自分自身をアプリ テスターのリストに追加できるようにすることは、内部テスト ベースを増やすためのシームレスな方法です。

招待リンクの使用例には、企業のドッグフード プログラム、大規模な QA チームを持つ組織、および個々のクライアントがテスター アクセスを制御できるようにしたい開発者グループが含まれます。

グループの招待リンクを作成することをお勧めします。招待リンクを使用してサインアップしたテスターは、後続のリリースに自動的に追加されます。

詳細については、招待リンクを作成する および グループからテスターを追加および削除する を参照してください。

テスターが関心のあるバージョンをテストしていることを確認してください

新しいバージョンがアップロードされると、テスターに​​メールで通知されます。この通知を補足するために、次の機能 (リリース リンクとアプリ内アラート) を使用して、関心のある特定のアプリ バージョンをテスターがテストしていることを確認できます。

  • リリース リンク:特定のバージョンをテスターと共有する場合は、この機能を使用します。リリース リンクの使用方法については、Firebase コンソールを使用して Android アプリをテスターに​​配布するをご覧ください。これらのリンクは、ビルド自動化ツールで使用するFirebasefastlane 、およびGradleコマンドライン (CLI) ツールでも利用できます。
  • アプリ内アラート:テスターがアプリの最新バージョンをテストしていることを確認する場合は、これらのアラートを使用します。 Firebase App Distribution Android SDK を統合することで、アプリの新しいビルドが利用可能になったときに、アプリ内で直接テスターに​​アラートを表示できます。アプリ内アラートを追加する方法については、新しいビルドについてテスターに​​通知する を参照してください。

退職したテスターのアクセス権を自動的に削除する

CI/CD の社内テスト フローが稼働したら、退職者が社内ビルドにアクセスできないようにする必要があります。ビルドへのテスター アクセスの管理を支援するために、App Distribution には次のオプションが用意されています。