App Hosting 建構程序

Firebase App Hosting 會使用 Cloud Build 將應用程式原始碼轉換為容器化格式,以便部署至 Cloud Run

建構程序會經過下列主要階段:

  1. 擷取:收集應用程式原始碼和設定。

  2. 建構:安裝依附元件並建構應用程式。

  3. 交接:完成製作 Cloud Run 容器。

這三個步驟直接對應至 Google Cloud 控制台中顯示的建構步驟 1、2 和 3:Cloud Build

Google Cloud 控制台的 Cloud Build 步驟畫面截圖

擷取階段

這個階段負責處理建構前邏輯。這個函式會讀取、清除及寫入使用者定義的環境變數。此外,也會取消參照並釘選 apphosting.yaml 檔案中指定的任何密鑰。

建構階段

這是建構程序的核心,負責產生可執行的容器映像檔,以及定義建構設定的 bundle.yaml 檔案。這項工具會使用 Cloud Native Buildpacks 有效率地封裝應用程式。如要進一步瞭解 bundle.yaml 檔案,請前往 github

Buildpacks 負責將應用程式原始碼轉換為可立即用於實際工作環境的容器映像檔。Firebase App Hosting 會將多個建構包串連在一起,完成建構程序:

  1. 執行階段建構包:確保包含執行基本 Node.js 應用程式所需的所有元件,並安裝依附元件。
  2. Monorepo Buildpack:設定後續的建構套件,處理不同的 Monorepo 情境。
  3. 架構 Buildpack:安裝正確的架構介面卡 (例如 Angular 或 Next.js),並準備後續的 Buildpack。

    架構轉接程式負責執行正式版建構指令,並將所有相關的架構專屬設定值對應至 App Hosting 可讀取的標準格式。

  4. 套件管理員 Buildpack:使用 npm、yarn 或 pnpm 執行依附元件安裝作業,並建構應用程式。

  5. 輸出套裝組合建構包:定義執行指令,並準備要執行的輸出套裝組合。

交接階段

最後一個階段會將從應用程式原始碼擷取的所有資訊,以及建構容器映像檔打包,然後傳送至後端。App HostingApp Hosting 後端接著會使用這項資訊,以適當的設定建立 Cloud Run

瞭解詳情

整個App Hosting建構程序都是開放原始碼。