在本機測試網頁應用程式、與他人共用變更,然後即時部署

建議您先查看及測試變更,再部署至實際網站。 Firebase 託管功能可讓您在本機查看及測試變更,以及與之互動 模擬後端專案資源如果希望團隊成員一起查看及 測試變更,託管功能可以為 你的網站我們甚至支援 GitHub 整合,透過提取功能部署 請求。

事前準備

請完成 代管入門指南網頁,特別是 幾項工作:

  1. 安裝或更新至 Firebase CLI 的最新版本。
  2. 將本機專案目錄 (含應用程式的內容) 連結至 Firebase 專案。

您可以選擇部署應用程式的代管內容和設定 不一定要執行本頁的步驟。

步驟 1:在本機測試

如果您想加快疊代速度,或希望應用程式與模擬功能互動 後端專案資源,您可以直接測試「託管」內容與設定 本機儲存空間在本機測試時,Firebase 會從本機託管的網頁應用程式提供網頁應用程式 網址。

代管服務是 Firebase 本機模擬器套件的一部分。 可讓應用程式與「模擬」代管內容互動,並 以及選用的「模擬」專案資源 (函式、 資料庫和規則)。

  1. (選用) 根據預設,本機代管的應用程式會與 real、 未「模擬」、專案資源 (函式、資料庫、規則等)。 您可以選擇將應用程式連結至使用任何「模擬」專案 找出您設好的資源瞭解詳情: 即時資料庫 | Cloud Firestore | Cloud Functions

  2. 在本機專案的根目錄中,執行下列指令:

    firebase emulators:start
  3. 在 CLI 傳回的本機網址開啟網頁應用程式 (通常為 http://localhost:5000).

  4. 如要在變更本機網址後進行更新,請重新整理瀏覽器。

透過其他本機裝置進行測試

根據預設,模擬器只會回應來自 localhost 的要求。這個 這表示您可以透過電腦網路存取代管的內容 而不是來自你網路的其他裝置如果希望 其他本機裝置,請按照下列方式設定 firebase.json

"emulators": {
    // ...

    "hosting": {
      "port": 5000,
      "host": "0.0.0.0"
    }
  }

步驟 2:預覽並分享

如果想在網頁應用程式上線前讓其他使用者先查看對網頁應用程式所做的變更,您可以 使用預覽管道

部署至預覽管道後,Firebase 會在 「預覽網址」,這是可以分享的臨時網址。使用預覽網址時 網頁應用程式會與所有專案資源的「實際」後端互動 (使用 但所有「已釘選」函式 config)。

請注意,雖然預覽網址不容易猜測 (因為其中包含隨機網址 是公開的。因此凡是知道網址的人,都能存取該網址。

  1. 在本機專案的根目錄中,執行下列指令:

    firebase hosting:channel:deploy CHANNEL_ID

    CHANNEL_ID 替換為不含空格的字串 (例如 feature_mission-2-mars)。這個 ID 將用於建構 與預覽頻道相關聯的預覽網址。

  2. 在 CLI 傳回的預覽網址開啟網頁應用程式。外觀 如下所示: PROJECT_ID--CHANNEL_ID-RANDOM_HASH.web.app

  3. 如要使用變更來更新預覽網址,請再次執行相同指令。廠牌 請務必在指令中指定相同的 CHANNEL_ID

瞭解如何管理預覽管道。 包括如何設定頻道到期日

Firebase 託管支援會自動建立的 GitHub 動作,以及 將變更提交至提取要求時,更新預覽網址。瞭解詳情 設定並使用這個 GitHub 動作

步驟 3:即時部署

準備好與全世界分享變更後,請部署託管 打造專屬於您的直播頻道Firebase 提供以下功能 根據您的用途,執行這個步驟適用的選項 (請參閱下文)。

選項 1:從預覽頻道複製到直播頻道

這個選項能讓您安心地部署至即時管道 確切內容和設定。瞭解詳情 關於 複製版本

  1. 在任何目錄中執行下列指令:

    firebase hosting:clone SOURCE_SITE_ID:SOURCE_CHANNEL_ID TARGET_SITE_ID:live

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

    • SOURCE_SITE_IDTARGET_SITE_ID:這些 ID 分別是 列出這些頻道所屬的代管網站。

      • 如果選取「託管」網站,請使用 Firebase 專案 ID。
      • 您可以指定屬於同一個 Firebase 專案的網站,甚至是位於 不同的 Firebase 專案
    • SOURCE_CHANNEL_ID:這是頻道的 目前正在提供您要部署至線上版本的版本。

      • 如果是直播頻道,請使用 live 做為頻道 ID。
  2. 下一步:查看變更

方法 2:從本機專案目錄部署至直播頻道

這個選項可讓您彈性調整 不必使用預覽版本,也能執行部署作業

  1. 在本機專案的根目錄中,執行下列指令:

    firebase deploy --only hosting
  2. 下一步:查看變更

步驟 4:查看您在實際網站上所做的變更

上述兩個選項都能將您的「託管」內容與設定部署到 下列網站:

  • 為預設託管網站與 其他代管網站:
    SITE_ID.web.app (例如 PROJECT_ID.web.app)
    SITE_ID.firebaseapp.com (例如 PROJECT_ID.firebaseapp.com)

  • 您已連結任何自訂網域 您的「託管」網站

如要限制部署至特定託管網站, 指定部署目標 建立 Docker 容器

其他部署活動和資訊

為部署作業新增註解

您可以選擇在部署作業中新增註解。這則留言會與 託管資訊主頁 。例如:

firebase deploy --only hosting -m "Deploying the best new feature ever."

新增預先部署和部署指令碼後的工作

您可以選擇將殼層指令碼連線至 firebase deploy 指令,以便: 執行預先部署或後續部署工作舉例來說,部署後掛鉤 通知管理員有新的網站內容部署。詳情請參閱 詳情請參閱 Firebase CLI 說明文件

快取部署的內容

針對靜態內容提出要求時,Firebase 託管會自動 會在 CDN 上快取內容如果重新部署網站內容,Firebase 自動清除 CDN 中的所有快取靜態內容, 才能收到新內容

請注意,您可以設定 快取動態內容

透過 HTTPS 提供

確認所有未託管的外部資源 Firebase 託管會透過安全資料傳輸層 (SSL) (HTTPS) 載入,包括任何外部指令碼。 大多數瀏覽器都不允許使用者載入「混合內容」(SSL 和非 SSL 流量)。

刪除檔案

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

後續步驟