管理上線的版本(&A);預覽版本、版本和網站版本

Firebase Hosting 可透過 Firebase 控制台和 Firebase CLI 管理應用程式版本、版本和版本 Hosting網站。

Hosting 基礎架構總覽

瞭解 Hosting 基礎架構,有助於瞭解 管理選項。

每項 Firebase 專案都有預設的 Hosting 網站,並具備所有 Firebase 專案的存取權 專案的資源 (資料庫、驗證、函式等)。網站 包含一或多個管道,而每個頻道都會與一個網址連結 提供特定內容和 Hosting 設定

<span class=Firebase 代管階層/>

每個 Hosting 網站都有「上線」狀態提供內容的頻道 Hosting (1) 設為網站 Firebase 佈建的子網域 (SITE_ID.web.appSITE_ID.firebaseapp.com) 和 (2) 任何連結 自訂網域。您也可以選擇建立 「預覽」暫時提供自有內容和設定的頻道 可分享的「預覽網址」(SITE_ID--CHANNEL_ID-RANDOM_HASH.web.app)。

每個管道提供的內容和設定會封裝為 version 物件。部署至網站時 Firebase 會建立指向特定版本的 release 物件。A 罩杯 版本包含部署作業的中繼資料,例如部署的人員和建立時間 部署。

來自 Firebase 專案的 Hosting」資訊主頁, 你可以前往 「版本記錄」表格。如果 多個 Hosting 網站,按一下「查看」 即可查看其發布記錄。如有任何預覽管道 也會顯示在 Hosting 資訊主頁上。

管理頻道設定

您可以在網站的各個頻道中控制其設定。部分設定,例如 僅適用於預覽頻道。

限制要保留的版本數量

每當您部署至版本 (並建立版本) 時,Hosting 都會保留 專案 Hosting 中與先前版本相關的版本 如果 30 天內讀取資料不到一次 建議使用 Coldline Storage您可以在 測試環境和預覽版

  • 為什麼 Hosting 保留先前的版本?
    針對直播頻道,保留先前的版本可讓你 如有需要,請復原至先前的網站版本。適用對象 您的預覽管道 (復原中) 目前尚無法使用。

  • 為什麼要限制要保留的版本數量?
    這項功能可協助您控制 專案的 Hosting 儲存空間,是 先前版本的內容則會保留在這個儲存空間。您可以監控 Hosting 「儲存空間」分頁

  • 如果您限制要保留的版本,會有什麼影響?
    設定保留版本的限制後,所有版本的內容 您的設定上限會處於刪除狀態 從最舊的版本著手

以下說明如何設定版本的儲存空間上限:

  1. Firebase 控制台, 存取版本儲存空間設定對話方塊:

    • 適用於直播頻道
      在網站的「版本記錄」表格中,按一下 ,然後選取 版本儲存空間設定

    • 任何預覽版本
      在預覽管道的資料列中,按一下 ,然後選取 頻道設定

  2. 輸入您要保留的版本數量,然後按一下「儲存」

設定預覽版本的到期時間

預覽版本預設會在建立日期的 7 天後到期, 網站的直播頻道永遠不會過期

預覽版本到期後,系統會提供發布版本以及發行內容, 會排定在 24 小時內刪除。 相關聯的預覽網址也會停用。但 「版本刪除」是指某個版本與其他版本相關聯 (也就是 舉例來說,如果您將版本從一個版本複製到另一個版本 在同一網站中)。

Hosting 支援兩種控制管道到期日的方式:

  • Firebase 控制台
    在預覽管道的資料列中,按一下 ,然後選取 頻道設定。輸入到期日的日期和時間。

  • Firebase 個 CLI
    部署至預覽管道時,請傳遞 --expires DURATION 標記,例如:

    firebase hosting:channel:deploy new-awesome-feature --expires 7d

    到期日可自部署日期起最多 30 天。h 用於以下用途: 小時、d 代表天,w 代表週 (例如 12h7d2w、 )。

複製某個版本中的某個版本

您可以將部署的版本從一個版本複製到另一個版本。個人中心 可複製同時在 Hosting 網站、甚至 跨 Firebase 專案共用資源

clone 指令也會部署至「target」而 Hosting 內容和設定會自動在「目標」提供 連結至頻道的關聯網址

這項功能在追蹤版本時相當實用,或 您部署的內容確切,是您在另一個裝置上瀏覽和/或測試過的內容 頻道。例如:

  • 從「QA」複製資料網站實際頻道的預覽頻道 (直播中!)

  • 從網站的直播管道複製到「偵錯」預覽頻道 (例如 復原前的測試)

  • 在「測試環境」中複製頻道中的連結從 Firebase 專案切換至預覽管道 在您的「正式版」中Firebase 專案

如要複製版本,請從任何目錄執行下列指令:

firebase hosting:clone SOURCE_SITE_ID:SOURCE_CHANNEL_ID TARGET_SITE_ID:TARGET_CHANNEL_ID

將每個預留位置替換為以下內容:

  • SOURCE_SITE_IDTARGET_SITE_ID:這些是 包含這些管道的 Hosting 個網站。

    • 如果是預設的 Hosting 網站,請使用 Firebase 專案 ID。
    • 您可以指定屬於同一個 Firebase 專案的 Hosting 個網站,或是 甚至能在不同的 Firebase 專案中運作
  • SOURCE_CHANNEL_IDTARGET_CHANNEL_ID:這些是 專屬 ID

    • 如果是直播頻道,請使用 live 做為頻道 ID。
    • 如果指定的是這個指令會建立 然後再進行部署

將網站復原為前一個版本

復原為前一個版本的網站直播頻道。這個 如果現行版本有問題,而您想復原 提供已知可運作的網站版本。或者,您的網站 臨時或特殊活動的暫時內容,但現在您想復原 以便將您的「一般」內容。

復原後,您就能建立建立新版本, 先前的發布內容「版本記錄」表格中的這兩個版本 會列出相同的版本 ID

復原的步驟如下:

  1. Firebase 控制台, ,將滑鼠遊標懸停在網站的「版本記錄」表格中,將滑鼠遊標懸停在先前版本上 變更要復原的目標

  2. 按一下 ,然後選取 復原

手動刪除版本

你可能需要手動刪除直播頻道上的版本,才能釋出版本 您的專案有 Hosting 儲存空間。個人中心 只能刪除先前版本,無法刪除目前提供的版本 實際網站

刪除版本後,您其實會刪除該版本的內容 排定在 24 小時內刪除發布物件本身會保留下來 您仍可查看中繼資料 (部署的人員和部署時間)。

刪除版本的方法如下:

  1. Firebase 控制台, ,將滑鼠遊標懸停在網站的「版本記錄」表格中,將滑鼠遊標懸停在先前版本上

  2. 按一下 ,然後選取 刪除

手動刪除檔案

在「Firebase Hosting」中,刪除所選檔案的主要方式 方法是在本機刪除檔案,然後重新部署。

手動刪除預覽頻道

按一下要預覽的頻道,即可預覽頻道。 在這個檢視畫面中,您可以查看、刪除及還原最新的部署作業, 和特定頻道相連您可以刪除預覽頻道 但你無法刪除網站的直播頻道

刪除預覽版本後、發布版本、發布內容,以及 會排定在 24 小時內刪除。 相關聯的預覽網址也會停用。例外狀況, 「版本刪除」是指某個版本與其他版本相關聯 (也就是 舉例來說,如果您將版本從一個版本複製到另一個版本 在同一網站中)。

Hosting 支援兩種刪除預覽管道的方式:

  • Firebase 控制台
    在預覽管道的資料列中,按一下 ,然後選取 刪除頻道。確認刪除。

  • Firebase 個 CLI
    從任何目錄執行下列指令:

    firebase hosting:channel:delete CHANNEL_ID

預覽版本與複製的 CLI 指令

預覽版本的指令

所有預覽版本的指令都支援部署目標 多個 Hosting 網站

指令 說明
firebase hosting:channel:create CHANNEL_ID

系統會在以下位置建立新的預覽管道: default Hosting 網站,使用指定的 CHANNEL_ID

這個指令不會部署至管道。

firebase hosting:channel:delete CHANNEL_ID

刪除指定預覽管道

您無法刪除網站的直播頻道。

firebase hosting:channel:deploy CHANNEL_ID

Hosting 內容和設定部署至指定 預覽頻道

如果預覽管道尚不存在,這個指令會建立 預設 Hosting 網站上的頻道 再部署至管道

firebase hosting:channel:list 列出 預設 Hosting 網站
firebase hosting:channel:open CHANNEL_ID 開啟瀏覽器前往指定頻道的網址,或傳回網址 如果無法在瀏覽器中開啟

版本複製功能的指令

指令 說明
firebase hosting:clone \
SOURCE_SITE_ID:SOURCE_CHANNEL_ID \
TARGET_SITE_ID:TARGET_CHANNEL_ID

在指定「來源」上複製最近部署的版本 連結至指定「目標」頻道

這個指令也會部署至指定的「目標」頻道。如果 「target」這個指令會建立一個新的 指定「目標」尚未部署至 Hosting 個網站 頻道。

firebase hosting:clone \
SOURCE_SITE_ID:@VERSION_ID \
TARGET_SITE_ID:TARGET_CHANNEL_ID

將指定版本複製到指定的「目標」頻道

這個指令也會部署至指定的「目標」頻道。如果 「target」這個指令會建立一個新的 指定「目標」尚未部署至 Hosting 個網站 頻道。

您可以在VERSION_ID Hosting」資訊主頁 Firebase 控制台。