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

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

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

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

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

あなたが始める前に

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

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

  1. Firebase コンソールで [ App Distribution] ページを開きます。

  2. iOS アプリを選択します。

  3. [はじめに] をクリックします。

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

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

ファストレーンを使う

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

App Distribution を fastlane と統合する方法については、「fastlaneを使用して iOS アプリをテスターに​​配布する」を参照してください。 fastlane統合プロセスを説明するコードラボもご覧ください。

Firebase CLI を使用する

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

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

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

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

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

App Distribution fastlane プラグインまたは Firebase CLI をサービス アカウントで使用します。これにより、アプリケーションのデフォルト資格情報が利用され、CI の管理が容易になります。サービス アカウントは、ユーザーではなくアプリケーションを表す Google アカウントの一種です。 CI システムでは、サービス アカウントを使用して App Distribution ワークロードを実行できます。詳細については、サービス アカウントによる認証を参照してください。

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

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

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

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

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

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

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

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

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

新しい iOS テスター デバイスの管理と自動追加

追加の iOS テスター デバイスの登録を支援するために、App Distribution は、電子メールまたは CSV ファイルを介して新しいテスター iOS デバイスについて通知することにより、Apple Developer Portal で iOS テスター デバイスを管理するのに役立ちます。詳細については、CSV ファイルからテスターをインポートする を参照してください。 fastlane を使用して、プログラムで新しいデバイスをエクスポートすることもできます。

UDID を自動的に取得して Apple 開発者コンソールに追加し、アプリをリビルドして配布する fastlane アクションをセットアップする方法については、「 App Distribution と fastlane を使用してプレリリース iOS ビルドをより高速に配布する」を参照してください。

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

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

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

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

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

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

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

  • リリース リンク:特定のバージョンをテスターと共有する場合は、この機能を使用します。リリース リンクの使用方法については、Firebase コンソールを使用してテスターに​​ iOS アプリを配布するをご覧ください。これらのリンクは、ビルド自動化ツールで使用するFirebaseおよびfastlaneコマンドライン (CLI) ツールでも利用できます。

  • アプリ内アラート:テスターがアプリの最新バージョンをテストしていることを確認する場合は、これらのアラートを使用します。 Firebase App Distribution iOS SDK を統合することで、アプリの新しいビルドが利用可能になったときに、アプリ内で直接テスターに​​アラートを表示できます。アプリ内アラートを追加する方法については、新しいビルドについてテスターに​​通知する を参照してください。

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

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