我們通常會使用相同的程式碼集部署多個環境,且每個環境的設定略有不同。舉例來說,您可能會想將較少 CPU 和 RAM 指派給測試環境,或是希望確保實際工作環境至少有 1 個執行個體處於啟用狀態,而且可以處理要求。
如要進一步瞭解環境,請參閱「環境總覽」和「設定 Firebase 專案的一般最佳做法」。
先備知識
- 您的應用程式程式碼已儲存在 GitHub 中。
- 您已為每個環境建立專屬專案,例如
my-production-firebase-project
和my-staging-firebase-project
。
步驟 0:設定實際工作環境中的 Git 分支版本
如果您偏好從 main
分支版本部署實際工作環境,請直接跳到下一個步驟。如果您想從其他分支版本部署正式環境production
,您必須先在 GitHub 建立這個資料庫。
如要使用 GitHub UI 建立實際工作環境分支版本,請參閱在存放區中建立及刪除分支版本。
如何在本機建立實際工作環境分支版本:
$ 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>
如要查看支援設定的完整清單,請參閱「設定應用程式託管」。
編輯 apphosting.yaml
後,請將其推送至 GitHub 存放區:
$ 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>
如果這個指令成功讓實際工作環境的後端應運作,App Hosting 會自動建構及部署實際工作環境分支版本的新修訂版本。
步驟 3:設定暫存 Git 分支版本
按照上述步驟在 GitHub 上建立暫存分支版本:
$ git checkout -b staging
$ git push origin staging:staging
步驟 4:設定測試環境 apphosting.yaml
測試分支版本應該已有實際工作環境 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 分支版本:
$ git add apphosting.yaml
$ git commit -m "Added staging App Hosting backend configuration."
$ git push origin
步驟 5:將程式碼集部署至測試環境
設定測試環境 Git 分支版本後,即可按照上述步驟將程式碼集部署至測試環境:
firebase apphosting:backends:create --project <replace with your STAGING project ID>
完成這個步驟後,您會有兩個 App Hosting 後端,而後端採用相同的程式碼集:一個用於實際工作環境,另一個用於測試環境,每個後端分別用於不同的 Firebase 專案。
後續步驟
- 深入瞭解:查看 Firebase 程式碼研究室,瞭解如何將託管應用程式與 Firebase 驗證和 Google AI 功能整合:Next.js | Angular
- 連結自訂網域。
- 設定後端。
- 監控推出作業、網站使用情況和記錄。