部署至 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. 選取您的專案並按一下 [Open] (開啟)

  3. 在權限表格中,找出您用於建構作業的服務帳戶電子郵件,然後點選鉛筆圖示。

  4. Cloud Build Service Account(roles/cloudbuild.builds.builder)、Firebase Admin (roles/firebase.admin) 和 API Keys Admin (roles/serviceusage.apiKeysAdmin) 角色新增至服務帳戶。

  5. 按一下 [儲存]

使用 firebase Docker 映像檔

Cloud Build 提供建構工具映像檔,可用於在 Cloud Build 中叫用 firebase 指令。如要在 Cloud Build 設定檔中使用這個建構工具,可以透過 firebase 建構步驟部署至 Firebase:

  1. 建立名為 cloudbuild.yamlcloudbuild.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

  2. 使用建構設定檔展開建構作業:

    gcloud builds submit --region=REGION --config CONFIG_FILE_PATH SOURCE_DIRECTORY
    

    其中:

    • REGION支援的建構區域之一。
    • CONFIG_FILE_PATH 是建構設定檔的路徑。
    • SOURCE_DIRECTORY 是原始碼的路徑或網址。

持續部署

您可以建立 Cloud Build 觸發條件,自動將軟體部署到 Firebase。您可以設定觸發條件,在更新原始碼時建構及部署映像檔。

如要自動部署至 Firebase,請按照下列步驟操作:

  1. 在存放區中,新增建構設定檔,並加入呼叫 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"
           ]
      }
      ]
    }
    
  2. 使用上一個步驟中建立的建構設定檔建立觸發條件:

    1. 在 Google Cloud 控制台中開啟「Triggers」(觸發條件) 頁面:

      開啟「觸發條件」頁面

    2. 在頁面頂端的專案選取器下拉式選單中選取專案。

    3. 按一下「開啟」

    4. 按一下「建立觸發條件」

      在「Create trigger」(建立觸發條件) 頁面中輸入下列設定:

      1. 輸入觸發條件的名稱。

      2. 選取要觸發的存放區事件。

      3. 選取含有原始碼和建構設定檔的存放區。

      4. 指定分支版本或標記名稱的規則運算式,以啟動觸發程序。

      5. 「Configuration」(設定):選擇您先前建立的建構設定檔。

    5. 按一下「建立」即可儲存建構觸發條件。

每當您將新程式碼推送至存放區時,系統就會自動在 Firebase 上啟動建構作業並進行部署。

如要進一步瞭解如何建立 Cloud Build 觸發條件,請參閱「建立及管理建構觸發條件」。

程式碼範例

如要查看使用 Cloud Build 部署至 Firebase 的程式碼範例,請前往 deploy-firebase-example

後續步驟