Firebase へのデプロイ

このページでは、Cloud Build を使用して Firebase にアプリケーションをデプロイする方法について説明します。Cloud Build を初めて使用する場合は、最初にクイックスタートビルド構成の概要をご覧ください。

始める前に

  • Enable the Cloud Build, Firebase, and Resource Manager APIs.

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the APIs

  • このページで gcloud コマンドを実行するには、Google Cloud CLI をインストールします。

  • firebase.json を含むアプリケーションのソースコードを保持しておきます。ソースコードは、Cloud Source Repositories、GitHub、Bitbucket などのリポジトリに保存する必要があります。

  • Firebase にデプロイするプロジェクトがまだない場合は、Firebase をインストールして初期化し、デフォルト プロジェクトを作成できます。

必要な IAM 権限

  1. Google Cloud コンソールで [IAM] ページを開きます。

    [IAM] ページを開く

  2. プロジェクトを選択し、[開く] をクリックします。

  3. 権限の表で、ビルドに使用しているサービス アカウントのメールアドレスを見つけて、鉛筆アイコンをクリックします。

  4. サービス アカウントに Cloud Build Service Accountroles/cloudbuild.builds.builder)、Firebase Adminroles/firebase.admin)、API Keys Adminroles/serviceusage.apiKeysAdmin)のロールを追加します。

  5. [保存] をクリックします。

firebase Docker イメージの使用

Cloud Build には、Cloud Build で firebase コマンドを呼び出すために使用できるビルダー イメージが用意されています。Cloud Build 構成ファイルでこのビルダーを使用するには、firebase ビルドステップを使用して Firebase にデプロイします。

  1. cloudbuild.yaml または cloudbuild.json という名前のビルド構成ファイルを作成します。ここで、PROJECT_ID はGoogle Cloud プロジェクト ID、FIREBASE_PROJECT_ID は Firebase プロジェクト ID です。

    YAML

    steps:
    - name: "us-docker.pkg.dev/firebase-cli/us/firebase"
       args: ['deploy', '--project=FIREBASE_PROJECT_ID', '--only=hosting']
    ## Or, target a specific version of firebase-tools
    - name: "us-docker.pkg.dev/firebase-cli/us/firebase":x.y.z
       args: ['deploy', '--project=FIREBASE_PROJECT_ID', '--only=hosting']
    

    JSON

    {
      "steps": [
       {
          "name": "us-docker.pkg.dev/firebase-cli/us/firebase",
          "args": [
             "deploy",
             "--project",
             "FIREBASE_PROJECT_ID",
             "--only",
             "hosting"
           ]
      }
      ]
    }
    


    name: "us-docker.pkg.dev/firebase-cli/us/firebase":x.y.z を使用して、firebase-tools の特定のバージョンを選択できます。

  2. ビルド構成ファイルを使用してビルドを開始します。

    gcloud builds submit --region=REGION --config CONFIG_FILE_PATH SOURCE_DIRECTORY
    

    ここで

継続的デプロイ

Cloud Build トリガーを作成すると、ソフトウェアの Firebase へのデプロイを自動化できます。トリガーを構成すると、ソースコードを更新するたびにイメージをビルドしてデプロイできます。

Firebase へのデプロイを自動化するには:

  1. リポジトリに、firebase deploy コマンドを呼び出す手順を含むビルド構成ファイルを追加します。ここで、PROJECT_ID は Google Cloud プロジェクトの ID です。

    YAML

    steps:
          - name: us-docker.pkg.dev/firebase-cli/us/firebase
            args: ['deploy', '--project=PROJECT_ID', '--only=hosting']
    

    JSON

    {
      "steps": [
       {
          "name": "us-docker.pkg.dev/firebase-cli/us/firebase",
          "args": [
             "deploy",
             "--project",
             "PROJECT_ID",
             "--only",
             "hosting"
           ]
      }
      ]
    }
    
  2. 前のステップで作成したビルド構成ファイルを使用して、トリガーを作成します。

    1. Google Cloud コンソールで [トリガー] ページを開きます。

      [トリガー] ページを開く

    2. ページの上部にあるプロジェクト セレクタのプルダウン メニューからプロジェクトを選択します。

    3. [開く] をクリックします。

    4. [トリガーを作成] をクリックします。

      [トリガーの作成] ページで、次の設定を入力します。

      1. トリガーの名前を入力します。

      2. トリガーを開始するリポジトリ イベントを選択します。

      3. ソースコードとビルド構成ファイルを格納するリポジトリを選択します。

      4. トリガーを開始するブランチまたはタグ名を正規表現で指定します。

      5. 構成: 以前に作成したビルド構成ファイルを選択します。

    5. [作成] をクリックして、ビルドトリガーを保存します。

リポジトリに新しいコードを push するたびに、ビルドが自動的に開始され、Firebase にデプロイされます。

Cloud Build トリガーの作成方法については、ビルドトリガーの作成と管理をご覧ください。

サンプルコード

Cloud Build を使用して Firebase にデプロイするコードサンプルを表示するには、deploy-firebase-example に移動します。

次のステップ