同じコードベースから、それぞれ構成がわずかに異なる複数の環境をデプロイするのが一般的です。たとえば、ステージング環境に割り当てる CPU と RAM を少なくする場合や、本番環境で少なくとも 1 つのインスタンスをアクティブにし、リクエストを処理できる状態に保ちたい場合があります。
環境の詳細については、環境の概要と Firebase プロジェクトの設定に関する一般的なベスト プラクティスをご覧ください。
前提条件
- アプリケーション コードはすでに GitHub に保存されています。
my-production-firebase-project
とmy-staging-firebase-project
など、環境ごとに個別のプロジェクトがすでに作成されています。- ヒント: 本番環境の Firebase プロジェクトに「本番環境」環境タイプのタグを付けることを忘れないでください。
ステップ 0: 本番環境用 Git ブランチを設定する
main
ブランチから本番環境をデプロイする場合は、次のステップに進みます。次のような別のブランチから本番環境を
デプロイする場合production
を使用するには、まず GitHub でそれを作成する必要があります。
GitHub UI を使用して production ブランチを作成するには、リポジトリ内でのブランチの作成と削除をご覧ください。
production ブランチをローカルに作成するには:
$ git checkout -b production
$ git push origin production:production
ステップ 1: 本番環境の apphosting.yaml を構成する
本番環境で常に少なくとも 1 台のマシンを実行させ、本番環境に固有の環境変数を設定したいとします。これを構成するには、次のような apphosting.yaml
ファイルをプロジェクトのルートに作成します。
# Saved at <repository root>/apphosting.yaml
runConfig:
minInstances: 1
env:
- variable: STORAGE_BUCKET
value: <production Cloud Storage bucket name>
サポートされている設定の全一覧については、App Hosting を構成するをご覧ください。
apphosting.yaml
を編集したら、GitHub リポジトリに push します。
$ git add apphosting.yaml
$ git commit -m "Added production App Hosting backend configuration."
$ git push origin
ステップ 2: コードベースを本番環境にデプロイする
本番環境の Git ブランチを構成したら、新しい本番環境用 App Hosting バックエンドを作成できます。詳細な手順については、App Hosting のスタートガイドをご覧ください。
Firebase コンソールで新しいバックエンドを作成するには、https://console.firebase.google.com/project/_/apphosting にアクセスして開始します。
ローカルに作成するには、Firebase CLI をインストールしてから、次のコマンドを実行します。
firebase apphosting:backends:create --project <replace with your PRODUCTION project ID>
このコマンドが成功すると、本番環境のバックエンドが稼働状態になり、本番環境ブランチに対する新しい commit が App Hosting によって自動的にビルドされ、デプロイされます。
ステップ 3: ステージング Git ブランチを設定する
上記と同じ手順に沿って、GitHub に staging ブランチを作成します。
$ git checkout -b staging
$ git push origin staging:staging
ステップ 4: ステージング用の apphosting.yaml を構成する
staging ブランチには、本番環境の apphosting.yaml のコピーがすでに含まれているはずです。これを変更して、ステージング環境がアクティブに使用されていないときに App Hosting でステージング環境を停止できるようにし、STORAGE_BUCKET
環境変数に別の値を設定します。
# Saved at <repository root>/apphosting.yaml
runConfig:
minInstances: 0
env:
- variable: STORAGE_BUCKET
value: <some other staging Cloud Storage bucket name>
編集が完了したら、ファイルをステージング Git ブランチに push します。
$ git add apphosting.yaml
$ git commit -m "Added staging App Hosting backend configuration."
$ git push origin
ステップ 5: コードベースをステージング環境にデプロイする
staging Git ブランチを構成したら、上記と同じ手順でコードベースをステージング環境にデプロイできます。
firebase apphosting:backends:create --project <replace with your STAGING project ID>
この手順を完了すると、同じコードベースを使用する 2 つの App Hosting バックエンドが作成されます。1 つは本番環境用、もう 1 つはステージング用で、それぞれ別の Firebase プロジェクトにあります。
次のステップ
- さらに詳しく: ホストされたアプリを Firebase Authentication と Google AI の機能と統合する Firebase Codelab: Next.js | Angular
- カスタム ドメインを接続する
- バックエンドを構成します。
- ロールアウト、サイトの使用状況、ログをモニタリングします。