Firebase へのデプロイ

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

始める前に

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

    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 AccountFirebase AdminAPI Keys Admin のロールを追加します。

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

firebase コミュニティ ビルダーの使用

Cloud Build には、Cloud Build で firebase コマンドを呼び出すための Firebase コミュニティ ビルダー イメージが用意されています。このビルダーを Cloud Build 構成ファイルで使用するには、まずイメージをビルドしてプロジェクトの Container Registry に push する必要があります。

firebase コミュニティ ビルダーをビルドして push するには:

  1. プロジェクトのルート ディレクトリに移動します。

  2. cloud-builders-community リポジトリのクローンを作成します。

    git clone https://github.com/GoogleCloudPlatform/cloud-builders-community.git
    
  3. firebase ビルダー イメージに移動します。

    cd cloud-builders-community/firebase
    
  4. ビルダーをプロジェクトに送信します。ここで REGION は、サポートされているビルド リージョンのいずれかです。

    gcloud builds submit --region=REGION .
    
  5. プロジェクトのルート ディレクトリに戻ります。

    cd ../..
    
  6. ルート ディレクトリからリポジトリを削除します。

    rm -rf cloud-builders-community/
    

デプロイを構成する

firebase コミュニティ ビルダーをビルドしたら、ビルド構成ファイルの firebase ビルドステップを使用して Firebase にデプロイできます。

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

    YAML

          steps:
          - name: gcr.io/project-id/firebase
            args: ['deploy', '--project=firebase-project-id', '--only=hosting']
    

    JSON

    {
      "steps": [
       {
          "name": "gcr.io/project-id/firebase",
          "args": [
             "deploy",
             "--project",
             "firebase-project-id",
             "--only",
             "hosting"
           ]
      }
      ]
    }
    
  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: gcr.io/project-id/firebase
            args: ['deploy', '--project=project-id', '--only=hosting']
    

    JSON

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

    1. Google Cloud Console で [トリガー] ページを開きます。

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

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

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

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

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

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

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

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

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

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

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

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

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

サンプルコード

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

次のステップ