GitHub pull リクエストによるライブチャネルとプレビュー チャネルへのデプロイ

GitHub アクションを介して Firebase Hosting へのデプロイを統合できます。この GitHub アクションでは、次のことができます。

  • GitHub リポジトリに、PR ごとに新しいプレビュー チャネル(および関連するプレビュー URL)を作成します。

  • PR にプレビュー URL とともにコメントを追加します。これにより、デベロッパーとレビュー担当者は、アプリの「プレビュー」版で PR の変更を表示してテストできます。

    プレビュー URL が含まれた GitHub アクション PR コメントの画像

  • 関連するプレビュー チャネルに自動的にデプロイすることで、commit ごとの変更を加えてプレビュー URL を更新します。commit のたびに URL が変わることはありません。

  • (オプション)PR が統合されるときに、GitHub リポジトリの現在の状態をライブチャネルにデプロイします。

注意: プレビュー URL を使用する場合、アプリは Firebase プロジェクトの実際のバックエンド リソースとやり取りします。

GitHub アクションを設定して Firebase Hosting にデプロイする

  1. GitHub リポジトリ(公開または非公開)を作成するか、既存のリポジトリを使用します。リポジトリの管理者権限が必要です。

  2. リポジトリのローカル バージョンで、firebase init コマンドを使用して Firebase Hosting を設定します。

    • Hosting をまだ設定していない場合は、ローカル ディレクトリのルートからこのバージョンのコマンドを実行します。

      firebase init hosting
    • Hosting をすでに設定している場合は、Hosting の GitHub アクション部分を設定するだけで済みます。ローカル ディレクトリのルートからこのバージョンのコマンドを実行します。

      firebase init hosting:github
  3. CLI のプロンプトに表示される手順を実行すると、コマンドによって GitHub アクションの設定が自動的に処理されます。

    • Firebase プロジェクトに、Firebase Hosting へのデプロイ権限を持つサービス アカウントを作成します。

    • そのサービス アカウントの JSON キーを暗号化して、指定された GitHub リポジトリに GitHub シークレットとしてアップロードします。

    • 新しく作成したシークレットを参照する GitHub ワークフロー yaml 構成ファイルを書き込みます。このファイルでは、Firebase Hosting にデプロイするための GitHub アクションを構成します。

  4. GitHub で新しいブランチを作成し、CLI で作成されたワークフロー yaml ファイルを commit します。

  5. ブランチを GitHub リポジトリに公開します。

  6. ブランチを統合します。

これで、この GitHub リポジトリに追加される以降の PR には自動的に独自の「プレビュー URL」が作成されます。

GitHub アクションの詳細