このページでは、Cloud Build を使用して Firebase にアプリケーションをデプロイする方法について説明します。Cloud Build を初めて使用する場合は、最初にクイックスタートとビルド構成の概要をご覧ください。
始める前に
-
Enable the Cloud Build, Firebase, and Resource Manager APIs.
このページで
gcloud
コマンドを実行するには、Google Cloud CLI をインストールします。firebase.json
を含むアプリケーションのソースコードを保持しておきます。ソースコードは、Cloud Source Repositories、GitHub、Bitbucket などのリポジトリに保存する必要があります。Firebase にデプロイするプロジェクトがまだない場合は、Firebase をインストールして初期化し、デフォルト プロジェクトを作成できます。
必要な IAM 権限
Google Cloud コンソールで [IAM] ページを開きます。
プロジェクトを選択し、[開く] をクリックします。
権限の表で、ビルドに使用しているサービス アカウントのメールアドレスを見つけて、鉛筆アイコンをクリックします。
Cloud Build Service Account
、Firebase Admin
、API Keys Admin
のロールを追加します。[保存] をクリックします。
firebase
コミュニティ ビルダーの使用
Cloud Build には、Cloud Build で firebase
コマンドを呼び出すための Firebase コミュニティ ビルダー イメージが用意されています。このビルダーを Cloud Build 構成ファイルで使用するには、まずイメージをビルドしてプロジェクトの Container Registry に push する必要があります。
firebase
コミュニティ ビルダーをビルドして push するには:
プロジェクトのルート ディレクトリに移動します。
cloud-builders-community リポジトリのクローンを作成します。
git clone https://github.com/GoogleCloudPlatform/cloud-builders-community.git
firebase
ビルダー イメージに移動します。cd cloud-builders-community/firebase
ビルダーをプロジェクトに送信します。ここで
REGION
は、サポートされているビルド リージョンのいずれかです。gcloud builds submit --region=REGION .
プロジェクトのルート ディレクトリに戻ります。
cd ../..
ルート ディレクトリからリポジトリを削除します。
rm -rf cloud-builders-community/
デプロイを構成する
firebase
コミュニティ ビルダーをビルドしたら、ビルド構成ファイルの firebase
ビルドステップを使用して Firebase にデプロイできます。
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" ] } ] }
ビルド構成ファイルを使用してビルドを開始します。
gcloud builds submit --region=REGION --config config-file-path source-directory
ここで
- config-file-path は、ビルド構成ファイルへのパスです。
- source-directory は、ソースコードへのパスまたは URL です。
REGION
は、サポートされているビルド リージョンの一つです。
継続的デプロイ
Cloud Build トリガーを作成すると、ソフトウェアの Firebase へのデプロイを自動化できます。トリガーを構成すると、ソースコードを更新するたびにイメージをビルドしてデプロイできます。
Firebase へのデプロイを自動化するには:
リポジトリに、
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" ] } ] }
前のステップで作成したビルド構成ファイルを使用して、トリガーを作成します。
Google Cloud Console で [トリガー] ページを開きます。
ページの上部にあるプロジェクト セレクタのプルダウン メニューからプロジェクトを選択します。
[開く] をクリックします。
[トリガーを作成] をクリックします。
[トリガーの作成] ページで、次の設定を入力します。
トリガーの名前を入力します。
トリガーを開始するリポジトリ イベントを選択します。
ソースコードとビルド構成ファイルを格納するリポジトリを選択します。
トリガーを開始するブランチまたはタグ名を正規表現で指定します。
構成: 以前に作成したビルド構成ファイルを選択します。
[作成] をクリックして、ビルドトリガーを保存します。
リポジトリに新しいコードを push するたびに、ビルドが自動的に開始され、Firebase にデプロイされます。
Cloud Build トリガーの作成方法については、ビルドトリガーの作成と管理をご覧ください。
サンプルコード
Cloud Build を使用して Firebase にデプロイするコードサンプルを表示するには、deploy-firebase-example に移動します。
次のステップ
- Compute Engine で Blue/Green デプロイを実行する方法を学習する。
- Cloud Run にデプロイする方法を学習する
- GKE にデプロイする方法を学習する
- Cloud Run functions にデプロイする方法を学習する
- App Engine にデプロイする方法を学習する
- ビルドエラーをトラブルシューティングする方法について学習する。