如果啟用自動推出功能,每當您將新的修訂版本推送至 GitHub 存放區中的實際工作環境分支版本時,App Hosting 就會自動推出新版應用程式。您可以在 Firebase 控制台或 App Hosting GitHub 檢查中查看推出狀態。
此外,App Hosting 支援手動觸發推出作業,可用於 CI/CD 整合,或任何需要強制推出的情況。
查看推出作業
Firebase 控制台提供應用程式所有推出作業的詳細資訊。
依序前往 「Hosting & Serverless」>「App Hosting」, 然後選取「View」,查看要查看推出作業的後端。後端的「Rollouts」(推出作業) 分頁會顯示表格,列出這個後端的所有推出作業記錄。
每個推出項目都包含 Cloud Build 工作和觸發推出的變更或修訂版本的連結,以及作者、建立日期和推出狀態的基本資訊。
- Cloud Build 工作是 App Hosting 執行應用程式建構指令的建構環境。按一下建構 ID 即可存取 Cloud Build 記錄。
- 「Change」(變更) 是觸發推出作業的 GitHub 修訂版本或其他動作。
手動觸發推出作業
如要從 GitHub 來源手動觸發推出作業,而不推送新的修訂版本,可以透過 Firebase 控制台或 Firebase CLI 建立推出作業。這項功能適用於以下情況:
- 強制重新產生靜態內容。
- 允許 CI/CD 系統觸發推出作業。
- 限制在特定日期或時間推出正式版。
如要在 Firebase 控制台觸發推出作業,請按照下列步驟操作:
- 在 Firebase 控制台中,依序前往「Hosting & Serverless」> 「App Hosting」。
- 找到要建立推出作業的後端,然後按一下「View」(查看)。
- 在後端資訊主頁摘要中,選取「建立推出作業」。
- 選取要部署的分支版本。
- 選取要部署的修訂版本,可以是最新修訂版本,也可以是指定修訂版本 ID 的較早修訂版本。
- 選取 [Create] (建立)。推出作業的狀態和版本號碼會顯示在推出記錄表中。推出程序完成後,這項推出作業會顯示為目前的推出作業。
如要在 Firebase CLI 中觸發推出作業,請執行下列指令,並在系統提示時選取要推出的分支版本:
firebase apphosting:rollouts:create BACKEND_ID
或者,您也可以使用 --git-branch 選項,針對特定分支版本的最新修訂版本啟動推出作業:
firebase apphosting:rollouts:create BACKEND_ID
--git-branch BRANCH_NAME
您也可以使用 --git-commit 選項,建立具有特定修訂版本的推出作業:
firebase apphosting:rollouts:create BACKEND_ID
--git-commit COMMIT_ID
還原先前的推出作業
App Hosting 提供兩種還原先前推出的方法:
- 立即復原,不必重新建構
- 重新建構並復原至先前的版本
建立即時復原
有時您可能需要快速還原至舊版應用程式,例如在新部署的推出版本中發現重大錯誤,或遇到不穩定的建構版本,導致無法推出新版本。在這種情況下,您可以從先前的推出作業中,還原您選擇的現有容器映像檔。這個映像檔不會重建,而是使用首次建構時的程式碼和環境設定。
如要建立即時復原:
- 在 Firebase 控制台中,依序前往「Hosting & Serverless」> 「App Hosting」。
- 找到要建立復原作業的後端,然後按一下「查看」。
- 選取「推出」分頁標籤。
- 在後端的「History」(記錄) 表格中,選取先前建構作業的三點圖示選單。
- 選取「復原至這個版本」並確認。
重新建構及復原
如要還原至舊版應用程式,但仍保留目前的設定,您可以在復原程序中重建應用程式。舉例來說,如果最新版本更新了 Secret Manager 中的 API 金鑰值,重新建構可確保復原後,應用程式會使用新的金鑰。
如要重新建構及復原,請按照下列步驟操作:
- 在 Firebase 控制台中,依序前往「Hosting & Serverless」> 「App Hosting」。
- 找出要建立復原作業的後端,然後點選「查看資訊主頁」。
- 選取「推出」分頁標籤。
- 選取「建立推出作業」。
- 在「Create a rollout」(建立推出作業) 對話方塊中,選取「Earlier commit」(先前的修訂版本),然後輸入要重建及復原的版本修訂版本 ID。在推出記錄中,每個推出作業的「變更詳細資料」都包含修訂版本 ID,位於標籤的括號內。
- 選取「建立」即可開始復原。
變更推出作業設定
在後端資訊主頁中,依序前往「設定」>「部署」,即可變更推出作業的正式版分支版本,以及停用或啟用自動推出功能。
- 在 Firebase 控制台中,依序前往「Hosting & Serverless」> 「App Hosting」。
- 找到要更新推出設定的後端,然後按一下「View」。
- 在後端資訊主頁中,選取「設定」。預設檢視畫面會顯示網域和自訂網域的相關資訊。
- 選取「Deployment」檢視畫面。在這個檢視畫面中,您可以變更推出作業的正式分支版本,以及停用或啟用自動推出功能。此外,您也可以設定應用程式根目錄和後端環境 (請參閱「部署至多個環境」)。
管理自動推出功能
根據預設,App Hosting 會假設「所有」檔案都是「必要」清單,也就是說,每次對存放區進行新的修訂版本,都會觸發新的建構和推出作業。不過,為節省時間並避免不必要的部署作業,您可以設定 App Hosting,根據修訂版本中修改的特定檔案路徑略過建構作業。
如要設定這項功能,請依序前往「設定」>「推出」>「推出觸發條件」。如果希望每次有新的修訂版本提交至存放區時,都觸發新的建構和推出作業,可以將「Required Paths」(必要路徑) 留空,也可以指定一律會觸發推出作業的目錄或檔案。如果指定目錄,請務必新增所有路徑,讓變更觸發推出作業。
新增至「Ignored Paths」(忽略的路徑) 的目錄或檔案一律不會觸發自動推出作業。如果子目錄同時列入必要和忽略清單,則不會觸發自動推出作業。如果只填入忽略的路徑清單,App Hosting 會自動為必要路徑填入「*」。
如果您推送的修訂版本中,沒有任何變更的檔案符合必要路徑 (或所有變更都明確排除在忽略路徑之外),App Hosting 仍會確認收到 GitHub 事件,但會將建構和推出狀態標示為 SKIPPED,且不會觸發自動推出。