如果啟用自動推出功能,每當您將新修訂版本推送至 GitHub 存放區的正式分支版本時,App Hosting 就會自動推出新版應用程式。您可以在 Firebase 控制台或 App Hosting GitHub 檢查中查看推出狀態。
此外,App Hosting 也支援手動觸發推出作業,適用於 CI/CD 整合,或您想強制推出作業的任何其他情況。
查看推出作業
您可以在 Firebase 控制台中查看應用程式所有推出作業的詳細資訊。
依序前往「Hosting & Serverless」>「App Hosting」,然後選取要查看推出情況的後端「View」。後端的「推出」分頁會顯示表格,列出這個後端的所有推出記錄。
每個推出項目都包含 Cloud Build 工作和觸發推出的變更或提交內容的連結,以及作者、建立日期和推出狀態等基本資訊。
- Cloud Build 工作是建構環境,App Hosting 會在其中執行應用程式的建構指令。按一下建構 ID 即可存取 Cloud Build 記錄。
- 「變更」是指觸發推出作業的 GitHub 修訂或其他動作。
手動觸發推出作業
如要從 GitHub 來源手動觸發推出作業,但不想推送新的提交內容,可以從 Firebase 控制台或 Firebase CLI 建立推出作業。這項功能在下列情況下非常實用:
- 強制重新生成靜態內容。
- 允許 CI/CD 系統觸發推出程序。
- 將正式版推出時間限制在特定日期或時間。
如要在 Firebase 控制台中觸發發布作業,請按照下列步驟操作:
- 在 Firebase 控制台中,依序前往「Hosting & Serverless」(主機代管和無伺服器) >「App Hosting」(應用程式主機代管)。
- 按一下要建立推出作業的後端「檢視」。
- 在後端資訊主頁摘要中,選取「建立推出版本」。
- 選取要部署的分支版本。
- 選取要部署的修訂版本,可以是最新修訂版本,也可以是您指定修訂版本 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」(應用程式主機代管)。
- 按一下要建立復原的後端「View」(檢視)。
- 選取「推出」分頁標籤。
- 在後端的「記錄」表格中,選取先前版本的「三點」選單。
- 選取「復原至這個版本」並確認。
重新建構並復原
如要還原舊版應用程式,但仍保留目前的設定,可以在還原程序中重建應用程式。舉例來說,如果最新版本更新了 Secret Manager 中的 API 金鑰值,重建作業可確保應用程式在還原後使用新金鑰。
如要重建及復原,請按照下列步驟操作:
- 在 Firebase 控制台中,依序前往「Hosting & Serverless」(主機代管和無伺服器) >「App Hosting」(應用程式主機代管)。
- 找出要建立回溯版本的後端,然後按一下「查看資訊主頁」。
- 選取「推出」分頁標籤。
- 選取「開始發布」。
- 在「建立推出版本」對話方塊中,選取「較早的提交」,然後輸入要重建並復原的版本的提交 ID。在推出記錄中列出的每個推出作業,「變更詳細資料」部分都會顯示提交 ID,並以括號標示。
- 選取 建立 即可開始復原。
變更推出作業設定
如要變更發布的正式版分支,以及啟用或停用自動發布功能,請使用後端資訊主頁的「設定」>「部署」檢視畫面中的控制項。
- 在 Firebase 控制台中,依序前往「Hosting & Serverless」(主機代管和無伺服器) >「App Hosting」(應用程式主機代管)。
- 按一下要更新推出設定的後端「查看」。
- 在後端資訊主頁中選取「設定」。預設檢視畫面會顯示網域和自訂網域的資訊。
- 選取「Deployment」檢視畫面。在這個檢視畫面中,您可以變更推出作業的正式版分支,以及停用或啟用自動推出功能。此外,您也可以設定應用程式根目錄和後端環境 (請參閱「部署至多個環境」)。
管理自動推出功能
根據預設,App Hosting 會假設「必要」檔案清單包含「所有」檔案,也就是說,每當您將新提交內容推送至存放區,系統就會觸發新的建構及推出作業。不過,為節省時間並避免不必要的部署作業,您可以設定 App Hosting,根據提交中修改的特定檔案路徑略過建構作業。
如要設定這項功能,請依序前往「設定」>「推出」>「推出觸發條件」。在這裡,如果希望每次將新提交內容推送至存放區時,都觸發新的建構和推出作業,可以將「必要路徑」留空,也可以指定哪些目錄或檔案一律會觸發推出作業。如果指定目錄,請務必新增所有路徑,變更這些路徑時應觸發推出作業。
您新增至「忽略的路徑」的目錄或檔案一律不會觸發自動推出作業。如果子目錄同時屬於必要路徑和忽略的路徑,則不會觸發自動推出作業。如果您只填寫忽略的路徑清單,App Hosting 會自動填寫必要路徑的「*」。
如果您推送的修訂版本中,沒有任何變更的檔案符合必要路徑 (或所有變更都因忽略的路徑而遭到明確排除),App Hosting 仍會確認收到 GitHub 事件,但會將建構和推出狀態標示為 SKIPPED,且不會觸發自動推出作業。