本頁說明如何使用 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 theserviceusage.services.enablepermission. Learn how to grant roles.
如要在本頁面執行
gcloud指令,請安裝 Google Cloud CLI。請準備好應用程式原始碼,包括
firebase.json。原始碼必須儲存在存放區中,例如 Cloud Source Repositories、GitHub 或 Bitbucket。如果您還沒有要部署至 Firebase 的專案,可以安裝及初始化 Firebase,建立預設專案。
必要 IAM 權限
-
前往 Google Cloud 控制台的「Cloud Build 權限」settings頁面:
選取建構作業的服務帳戶。
將下列角色的狀態設為「已啟用」:
- Cloud Build 服務帳戶 | 允許舊版 Cloud Build 服務帳戶更新建構作業、寫入建構記錄,以及儲存建構構件。
- Firebase 管理員 | 允許 Cloud Build 存取 Firebase。
- API 金鑰檢視者 | 允許 Cloud Build 在建構部署期間存取目前的 Firebase Hosting 設定。
使用 firebase Docker 映像檔
Cloud Build 提供建構工具映像檔,可用於在 Cloud Build 中叫用 firebase 指令。如要在 Cloud Build 設定檔中使用這個建構工具,可以透過 firebase 建構步驟部署至 Firebase:
建立名為
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" ] } ] }如要選擇特定版本的
firebase-tools,請使用
name: "us-docker.pkg.dev/firebase-cli/us/firebase":x.y.z使用建構設定檔展開建構作業:
gcloud builds submit --region=REGION --config CONFIG_FILE_PATH SOURCE_DIRECTORY其中:
- REGION 是支援的建構區域之一。
- CONFIG_FILE_PATH 是建構設定檔的路徑。
- SOURCE_DIRECTORY 是原始碼的路徑或網址。
持續部署
您可以建立 Cloud Build 觸發條件,自動將軟體部署到 Firebase。您可以設定觸發條件,在更新原始碼時建構及部署映像檔。
如要自動部署至 Firebase,請按照下列步驟操作:
在存放區中新增建構設定檔,並加入呼叫
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" ] } ] }使用上一個步驟中建立的建構設定檔建立觸發條件:
在 Google Cloud 控制台中開啟「Triggers」(觸發條件) 頁面:
在頁面頂端的專案選取器下拉式選單中選取專案。
按一下「開啟」。
按一下「建立觸發條件」。
在「Create trigger」(建立觸發條件) 頁面中輸入下列設定:
輸入觸發條件的名稱。
選取要觸發的存放區事件。
選取包含原始碼和建構設定檔的存放區。
指定分支版本或標記名稱的規則運算式,做為觸發條件的開頭。
「Configuration」(設定):選擇您先前建立的建構設定檔。
按一下「建立」即可儲存建構觸發條件。
每當您將新程式碼推送至存放區時,系統就會自動在 Firebase 上啟動建構作業並進行部署。
如要進一步瞭解如何建立 Cloud Build 觸發條件,請參閱「建立及管理建構觸發條件」。
程式碼範例
如要查看使用 Cloud Build 部署至 Firebase 的程式碼範例,請前往 deploy-firebase-example。
後續步驟
- 瞭解如何在 Compute Engine 上執行藍綠部署
- 瞭解如何部署至 Cloud Run
- 瞭解如何在 GKE 上部署
- 瞭解如何部署至 Cloud Run functions
- 瞭解如何部署至 App Engine
- 瞭解如何排解建構錯誤