部署至 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"
           ]
      }
      ]
    }
    

    您可以使用
    name: "us-docker.pkg.dev/firebase-cli/us/firebase":x.y.z 選擇特定版本的 firebase-tools

  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. 設定:選擇先前建立的建構設定檔。

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

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

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

程式碼範例

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

後續步驟