App Hosting 建構程序

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

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

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

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

  3. 移交:完成正式版 Cloud Run 容器。

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

螢幕截圖:Google Cloud 控制台的 Cloud Build 步驟檢視畫面

擷取階段

這個階段負責處理建構前邏輯。它會讀取、消毒及寫入使用者定義的環境變數。也會解參照並固定 apphosting.yaml 檔案中指定的任何機密資料。

建構階段

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

Buildpacks 負責將應用程式原始碼轉換為正式版容器映像檔。Firebase App Hosting 會將多個 Buildpack 連結在一起,以完成建構程序:

  1. Runtime Buildpack:確保已納入執行基本 Node.js 應用程式所需的所有必要元件,並安裝依附元件。
  2. Monorepo Buildpack:設定後續的 Buildpack,以便處理不同的 monorepo 情境。
  3. 架構 Buildpack:安裝正確的架構轉接程式 (例如 Angular 或 Next.js),並準備後續的 Buildpack。

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

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

  5. 輸出套裝組合 Buildpack:定義執行指令,並準備輸出套裝組合供執行。

交接階段

這個最終階段會將從應用程式原始碼擷取的所有資訊,加上建構容器映像檔,打包成封裝檔,然後傳送至 App Hosting 後端。App Hosting 後端會使用這些資訊,以適當的設定來設定 Cloud Run

瞭解詳情

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