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 控制台中,訪問發布存儲設置對話框:
對於您的直播頻道
在您站點的發布歷史記錄表中,單擊 ,然後選擇發布存儲設置。對於任何預覽頻道
在預覽頻道所在的行中,點擊 ,然後選擇Channel settings 。
輸入您想要保留的版本數量,然後點擊保存。
設置預覽頻道的過期時間
默認情況下,預覽頻道自創建之日起 7 天后過期,但您網站的直播頻道永不過期。
當預覽頻道到期時,該頻道及其發布和相關版本將在 24 小時內被刪除。關聯的預覽 URL 也被停用。此版本刪除的一個例外是,如果一個版本與另一個版本相關聯(例如,如果您將一個版本從一個頻道克隆到同一站點內的另一個頻道,則會發生這種情況)。
Hosting 支持兩種不同的方式來控制頻道的過期:
Firebase 控制台
在預覽頻道所在的行中,點擊 ,然後選擇Channel settings 。輸入到期日期和時間。Firebase 命令行界面
當您部署到預覽頻道時,傳遞--expires DURATION
標誌,例如:firebase hosting:channel:deploy new-awesome-feature --expires 7d
自部署之日起,到期時間最長為 30 天。使用
h
表示小時,使用d
表示天,使用w
表示週(例如,分別為12h
、7d
、2w
)。
將版本從一個頻道克隆到另一個頻道
您可以將已部署的版本從一個通道克隆到另一個通道。您可以跨實時或預覽頻道、跨託管站點甚至跨 Firebase 項目進行克隆。
克隆命令還部署到“目標”通道,以便克隆的託管內容和配置自動在“目標”通道的關聯 URL 上提供。
此功能對於版本跟踪很有用,或者如果您希望確信自己正在部署您在另一個頻道上查看和/或測試過的確切內容。這裡有些例子:
從“QA”預覽頻道克隆到您網站的直播頻道(上線!)
從您網站的實時頻道克隆到“調試”預覽頻道(如回滾之前)
從“暫存”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 控制台中,在您網站的發布歷史記錄表中,將鼠標懸停在您要刪除的先前版本條目上。
單擊
,然後選擇Delete 。
手動刪除預覽頻道
您可以刪除預覽頻道,但不能刪除您網站的直播頻道。
當您刪除預覽頻道時,該頻道及其發布和相關版本將在 24 小時內被安排刪除。關聯的預覽 URL 也被停用。版本刪除的一個例外是,如果一個版本與另一個版本相關聯(例如,如果您將一個版本從一個頻道克隆到同一站點內的另一個頻道,則會發生這種情況)。
Hosting 支持兩種不同的方式來刪除預覽頻道:
Firebase 控制台
在預覽頻道所在的行中,點擊 ,然後選擇Delete channel 。確認刪除。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 控制台的託管信息中心找到 |