Catch up on everthing we announced at this year's Firebase Summit. Learn more

管理您網站的實時和預覽頻道、發布和版本

Firebase 託管通過 Firebase 控制台和 Firebase CLI 提供工具來管理託管站點的渠道、版本和版本。

託管基礎架構概述

了解託管基礎架構可幫助您了解此頁面上描述的管理選項。

每個火力地堡項目具有訪問項目的所有資源(數據庫,認證,功能等)默認的託管網站。 A位點包含一個或多個信道,其中每個信道與用於特定內容和主機構成的URL相關聯。

Firebase 託管層次結構的圖像

每一個託管的網站有一個“活”的頻道,供應的內容,並在(1)該網站的火力地堡置備的子域名主機配置( SITE_ID .web.appSITE_ID .firebaseapp.com )和(2)任何連接的自定義域。您也可以選擇創建“預覽”的渠道,在臨時的,可共享的“預覽網址”為自己的內容和配置( SITE_ID -- CHANNEL_ID - RANDOM_HASH .web.app )。

通過每個信道提供服務的內容和配置被包裝成一個版本對象具有唯一的標識符。當你部署到您的網站,火力地堡創建釋放對象指向一個特定版本。發布包含有關部署的元數據,例如部署人員和部署時間。

從你的火力地堡計劃的託管儀表板,你可以看到你的直播頻道的發布版本的完整歷史記錄的發行歷史表。如果你有多個託管網站,點擊查看所希望的網站上看到它的發行歷史。如果您有任何預覽頻道,它們也會顯示在託管儀表板上。

管理頻道的設置

對於站點的每個頻道,您都可以控制其設置。某些設置(例如頻道過期)僅適用於預覽頻道。

限制要保留的版本數

每次您部署到一個頻道(並創建一個版本)時,Hosting 都會在您的項目的 Hosting 存儲中保留與先前版本關聯的版本。您可以設置發布的數量保持在您的項目,現場和預覽通道每個通道

  • 為什麼 Hosting 會保留以前的版本?
    為了您的直播頻道,保持以前的版本中,您可以回滾到以前的版本,您的網站,如果需要的話。對於您的預覽頻道,回滾尚不可用。

  • 為什麼要限制要保留的版本數?
    此功能可以幫助您控制您的使用級別項目的託管存儲,作為以前的版本中的內容被保存在此存儲。您可以監控從您的託管存儲存儲選項卡在控制台中。

  • 當您限制要保留的版本時會發生什麼?
    當您設置的版本為了限制,任何版本的超過設定的限額內容預定要刪除,從最古老的版本第一

以下是為頻道設置發布存儲限制的方法:

  1. 火力地堡控制台,獲得釋放存儲的設置對話框:

    • 對於您的直播頻道
      發布歷史表為您的網站,點擊 ,然後選擇釋放存儲設置

    • 對於任何預覽頻道
      在該行的預覽通道,點擊 ,然後選擇頻道設置

  2. 輸入您希望保留的版本數量,然後點擊保存

設置預覽頻道的過期時間

默認情況下,預覽頻道自創建之日起 7 天后過期,但您網站的直播頻道永遠不會過期。

當預覽頻道到期時,該頻道及其發行版和相關版本計劃在 24 小時內刪除。關聯的預覽 URL 也被停用。這個版本刪除一個例外是,如果一個版本與另一版本相關的(這種情況發生,例如,如果你克隆從一個通道同一站點中的一個版本到另一個)。

Hosting 支持兩種不同的方式來控制頻道的過期時間:

  • Firebase 控制台
    在該行的預覽通道,點擊 ,然後選擇頻道設置。輸入到期日期和時間。

  • Firebase 命令行界面
    當你部署到預覽通道,通過--expires DURATION標誌,例如:

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

    自部署之日起最長可達 30 天。使用h數小時, d為天,和w數週(例如, 12h7d2w ,分別地)。

將版本從一個頻道克隆到另一個頻道

您可以將已部署的版本從一個頻道克隆到另一個頻道。您可以跨實時或預覽頻道、跨託管站點甚至跨 Firebase 項目進行克隆。

克隆命令也將部署到“目標”渠道,使克隆託管內容和配置在“目標”頻道的相關網址自動服務。

此功能對於版本跟踪有用,或者如果你想確信你部署你查看和/或測試另一個通道上的確切內容。這裡有些例子:

  • 從“QA”預覽頻道克隆到您網站的直播頻道(上線!)

  • 從您網站的實時頻道克隆到“調試”預覽頻道(就像在回滾之前一樣)

  • 從“暫存”Firebase 項目中的通道克隆到“prod”Firebase 項目中的預覽通道

要克隆一個版本,請從任何目錄運行以下命令:

firebase hosting:clone SOURCE_SITE_ID:SOURCE_CHANNEL_ID TARGET_SITE_ID:TARGET_CHANNEL_ID

用以下內容替換每個佔位符:

  • SOURCE_SITE_IDTARGET_SITE_ID :這些是包含在渠道的託管網站的ID。

    • 對於您的默認託管站點,請使用您的 Firebase 項目 ID。
    • 您可以指定位於同一 Firebase 項目甚至不同 Firebase 項目中的託管站點。
  • SOURCE_CHANNEL_IDTARGET_CHANNEL_ID :這些是渠道identifers。

    • 對於直播頻道,使用live的信道ID。
    • 如果指定的“目標”通道尚不存在,則此命令會在部署之前創建通道。

回滾到您網站的先前版本

您可以回滾以提供您網站直播頻​​道的先前版本。如果您的當前版本有問題並且您想要回滾以提供站點的已知工作版本,則此操作非常有用。或者,您的網站可能為假期或特殊活動提供臨時內容,但現在您想回滾以提供“常規”內容。

通過回滾,您可以創建一個新版本,該版本提供與先前版本相同的內容版本。在您的發行歷史表,這兩個版本會列出相同的版本標識符。

以下是回滾的方法:

  1. 火力地堡控制台,在發行歷史記錄表為您的網站,將鼠標懸停在以前的版本項,您希望回滾到。

  2. 點擊 ,然後選擇回滾

手動刪除發布

您可能需要從您的直播頻道手動刪除釋放,以釋放託管存儲為您的項目。您只能刪除以前的版本,而不能刪除當前在您的實時站點上提供的版本。

當您刪除一個版本時,您實際上是在刪除它的內容,這些內容計劃在 24 小時內刪除。保留發布對象本身,以便您仍然可以看到它的元數據(部署的人和部署時間)。

以下是刪除版本的方法:

  1. 火力地堡控制台,在發行歷史記錄表為您的網站,將鼠標懸停在要刪除以前的版本條目。

  2. 點擊 ,然後選擇刪除

手動刪除預覽頻道

您可以刪除預覽頻道,但不能刪除您網站的直播頻道。

當您刪除預覽頻道時,該頻道及其發行版和相關版本將安排在 24 小時內刪除。關聯的預覽 URL 也被停用。該版本刪除一個例外是,如果一個版本與另一版本相關的(這種情況發生,例如,如果你克隆從一個通道同一站點中的一個版本到另一個)。

Hosting 支持兩種不同的方式來刪除預覽頻道:

  • Firebase 控制台
    在該行的預覽通道,點擊 ,然後選擇刪除頻道。確認刪除。

  • Firebase 命令行界面
    從任何目錄運行以下命令:

    firebase hosting:channel:delete CHANNEL_ID

用於預覽頻道和克隆的 CLI 命令

預覽頻道的命令

預覽頻道的所有命令都支持部署的目標,如果你有多個託管網站

命令描述
firebase hosting:channel:create CHANNEL_ID

創建默認託管網站使用指定的新的預覽通道CHANNEL_ID

此命令不會部署到通道。

firebase hosting:channel:delete CHANNEL_ID

刪除指定的預覽通道

您不能刪除網站的直播頻道。

firebase hosting:channel:deploy CHANNEL_ID

將您的託管內容和配置部署到指定的預覽頻道

如果預覽通道不存在,這個命令部署到通道之前創建默認託管網站的通道。

firebase hosting:channel:list列出了默認託管網站所有頻道(包括“直播”頻道)
firebase hosting:channel:open CHANNEL_ID在瀏覽器中打開指定頻道的 URL 或在無法在瀏覽器中打開時返回 URL

版本克隆命令

命令描述
firebase hosting:clone \
SOURCE_SITE_ID : SOURCE_CHANNEL_ID \
TARGET_SITE_ID : TARGET_CHANNEL_ID

將指定“源”通道上最近部署的版本克隆到指定的“目標”通道

此命令還會部署到指定的“目標”通道。如果“目標”頻道尚不存在,此命令會在部署到該頻道之前在“目標”託管站點中創建一個新的預覽頻道。

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

將指定版本克隆到指定的“目標”通道

此命令還會部署到指定的“目標”通道。如果“目標”頻道尚不存在,此命令會在部署到該頻道之前在“目標”託管站點中創建一個新的預覽頻道。

你可以找到VERSION_ID託管儀表板的火力地堡控制台。