Firebase 託管通過 Firebase 控制台和 Firebase CLI 提供工具來管理託管站點的頻道、發布和版本。
託管基礎架構概述
了解託管基礎設施有助於您了解本頁描述的管理選項。
每個 Firebase 項目都有一個默認的託管站點,可以訪問所有項目的資源(數據庫、身份驗證、功能等)。一個網站包含一個或多個頻道,其中每個頻道都與一個提供特定內容的 URL 和一個託管配置相關聯。
每個託管站點都有一個“實時”頻道,用於在 (1) 站點的 Firebase 提供的子域( SITE_ID .web.app
和SITE_ID .firebaseapp.com
)和 (2) 任何連接的自定義域中提供內容和託管配置。您還可以選擇創建“預覽”頻道,這些頻道在臨時的、可共享的“預覽 URL”( SITE_ID -- CHANNEL_ID - RANDOM_HASH .web.app
)中提供自己的內容和配置。
每個通道提供的內容和配置都被打包到一個具有唯一標識符的版本對像中。當您部署到您的網站時,Firebase 會創建一個指向特定版本的發布對象。發布包含有關部署的元數據,例如部署人員和部署時間。
在您的 Firebase 項目的託管儀表板中,您可以在發布歷史記錄表中查看直播頻道發布的完整歷史記錄。如果您有多個託管站點,請單擊所需站點的查看以查看其發布歷史記錄。如果您有任何預覽頻道,它們也會顯示在託管儀表板上。
管理頻道的設置
對於站點的每個頻道,您都可以控制其設置。某些設置(如頻道過期)僅適用於預覽頻道。
限制要保留的版本數量
每次您部署到一個頻道(並創建一個版本)時,Hosting 都會在您的項目的 Hosting 存儲中保留與先前版本關聯的版本。您可以為項目中的每個頻道(實時頻道和預覽頻道)設置要保留的發布數量。
為什麼 Hosting 保留以前的版本?
對於您的實時頻道,保留以前的版本使您能夠在需要時回滾到您網站的以前版本。對於您的預覽頻道,回滾尚不可用。為什麼要限制要保留的版本數量?
此功能可以幫助您控制項目託管存儲的使用級別,因為以前版本的內容保留在此存儲中。您可以從控制台的“存儲”選項卡監控您的託管存儲。當您限制要保留的版本時會發生什麼?
當您設置要保留的版本限制時,任何超過您設置限制的版本的內容都將被刪除,從最舊的版本開始。
以下是設置頻道的發布存儲限制的方法:
在Firebase 控制台中,訪問發布存儲設置對話框:
對於您的直播頻道
在站點的Release History表中,單擊 ,然後選擇Release storage settings 。對於任何預覽通道
在預覽頻道所在的行中,單擊 ,然後選擇Channel settings 。
輸入您要保留的版本數,然後點擊保存。
設置預覽通道的到期時間
默認情況下,預覽頻道會在其創建日期後 7 天過期,但您網站的直播頻道永遠不會過期。
當預覽頻道過期時,該頻道及其發行版和關聯版本將在 24 小時內刪除。關聯的預覽 URL 也被停用。此版本刪除的一個例外是版本與另一個版本相關聯(例如,如果您將版本從一個頻道克隆到同一站點中的另一個頻道,就會發生這種情況)。
Hosting 支持兩種不同的方式來控制通道的過期時間:
Firebase 控制台
在預覽頻道所在的行中,單擊 ,然後選擇Channel settings 。輸入到期日期和時間。火力地堡命令行
當您部署到預覽通道時,傳遞--expires DURATION
標誌,例如:firebase hosting:channel:deploy new-awesome-feature --expires 7d
自部署之日起最長可過期 30 天。使用
h
表示小時,d
表示天,w
表示週(例如,分別為12h
、7d
、2w
)。
將一個版本從一個頻道克隆到另一個頻道
您可以將部署的版本從一個渠道克隆到另一個渠道。您可以跨直播或預覽頻道、跨託管站點甚至跨 Firebase 項目進行克隆。
克隆命令還會部署到“目標”通道,以便克隆的託管內容和配置自動在“目標”通道的關聯 URL 上提供。
此功能對於版本跟踪非常有用,或者如果您希望確信您部署的內容與您在其他頻道上查看和/或測試過的內容完全相同。這裡有些例子:
從“QA”預覽頻道克隆到您網站的實時頻道(上線!)
從您網站的實時頻道克隆到“調試”預覽頻道(就像回滾之前一樣)
從“staging”Firebase 項目中的通道克隆到“prod”Firebase 項目中的預覽通道
要克隆版本,請從任何目錄運行以下命令:
firebase hosting:clone SOURCE_SITE_ID:SOURCE_CHANNEL_ID TARGET_SITE_ID:TARGET_CHANNEL_ID
將每個佔位符替換為以下內容:
SOURCE_SITE_ID和TARGET_SITE_ID :這些是包含頻道的託管站點的 ID。
- 對於您的默認託管站點,請使用您的 Firebase 項目 ID。
- 您可以指定位於同一 Firebase 項目甚至不同 Firebase 項目中的託管站點。
SOURCE_CHANNEL_ID和TARGET_CHANNEL_ID :這些是頻道的標識符。
- 對於直播頻道,使用
live
作為頻道 ID。 - 如果指定的“目標”通道尚不存在,此命令會在部署之前創建通道。
- 對於直播頻道,使用
當您將一個版本從一個頻道克隆到同一託管站點中的另一個頻道時,Firebase 會創建一個指向完全相同版本的新發布對象。您將在您的託管站點中看到兩個版本,它們都指向相同的版本(由版本 ID 標識)。
但是,如果您將一個版本克隆到不同託管站點(或不同 Firebase 項目)中的頻道,Firebase 會同時創建一個新版本和一個新版本(由不同的版本 ID 標識)。
回滾到您網站的先前版本
您可以回滾以提供網站直播頻道的先前版本。如果您的當前版本有問題並且您想要回滾以提供站點的已知工作版本,則此操作很有用。或者您的網站可能為假期或特殊活動提供臨時內容,但現在您想回滾以提供您的“常規”內容。
通過回滾,您可以創建一個新版本,該版本提供與先前版本相同的內容版本。在您的版本歷史記錄表中,兩個版本都將列出相同的版本標識符。
回滾的方法如下:
在Firebase 控制台中,在您網站的發布歷史記錄表中,將鼠標懸停在您要回滾到的上一個發布條目上。
單擊
,然後選擇回滾。
手動刪除版本
您可能需要從實時頻道中手動刪除一個版本,以釋放項目的託管存儲空間。您只能刪除以前的版本,不能刪除當前在您的實時站點上提供的版本。
當您刪除一個版本時,您實際上是在刪除其計劃在 24 小時內刪除的內容。保留發布對象本身,以便您仍然可以看到它的元數據(部署人員和部署時間)。
以下是刪除版本的方法:
在Firebase 控制台中,在您網站的發布歷史記錄表中,將鼠標懸停在您要刪除的先前發布條目上。
單擊
,然後選擇刪除。
手動刪除預覽頻道
您可以刪除預覽頻道,但不能刪除您網站的直播頻道。
當您刪除預覽頻道時,該頻道及其發行版和關聯版本將計劃在 24 小時內刪除。關聯的預覽 URL 也被停用。版本刪除的一個例外是版本與另一個版本相關聯(例如,如果您將版本從同一站點的一個頻道克隆到另一個頻道,就會發生這種情況)。
Hosting 支持兩種不同的方式來刪除預覽頻道:
Firebase 控制台
在預覽頻道所在的行中,單擊 ,然後選擇刪除頻道。確認刪除。火力地堡命令行
從任何目錄運行以下命令:firebase hosting:channel:delete CHANNEL_ID
用於預覽頻道和克隆的 CLI 命令
預覽通道命令
如果您有多個託管站點,預覽頻道的所有命令都支持部署目標。
命令 | 描述 |
---|---|
firebase hosting:channel:create 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 \ | 將指定“源”通道上最近部署的版本克隆到指定的“目標”通道 此命令還會部署到指定的“目標”頻道。如果“目標”頻道尚不存在,此命令會在部署到頻道之前在“目標”託管站點中創建一個新的預覽頻道。 |
firebase hosting:clone \ | 將指定版本克隆到指定的“目標”通道 此命令還會部署到指定的“目標”頻道。如果“目標”頻道尚不存在,此命令會在部署到頻道之前在“目標”託管站點中創建一個新的預覽頻道。 您可以在 Firebase 控制台的託管儀表板中找到 |