多個環境

啟動開發、預備或測試環境的選項。

一旦您開始 在生產環境中執行 Metabase,您可能希望在個別環境中進行測試和開發。對於大多數團隊而言,這表示製作生產環境中某些(或所有)圖表和儀表板的副本、變更這些副本,然後選擇性地將這些變更推送回生產環境。

對於想要一次對許多 Metabase 項目或設定進行程式化變更的團隊來說,最好設定每個環境一個執行個體。您也可以模擬 儀表板維護的開發和生產環境,方法是建立每個環境一個集合

每個環境一個執行個體

若要為您的每個環境設定一個執行個體,您需要自架式 Pro 或 Enterprise 方案。由於自架式 Pro 和 Enterprise 方案方便地按帳戶收費,因此您可以隨意啟動任意數量的 Metabase 執行個體,而無需額外費用。

若要根據您的生產 Metabase 建立新環境,您將使用 Metabase 的序列化功能來建立圖表、儀表板和設定的匯出。您也可以在將匯出匯入新的 Metabase 預備執行個體之前,編輯匯出的 YAML 檔案。例如,您可以建立一組具有品牌化的儀表板範本,可用於填入任何新環境。

當需要將變更從預備推送回生產環境時,您的團隊將使用相同的序列化程序,從預備匯出並將其匯入生產環境。您也可以設定自己的整合測試,以避免匯入任何可能破壞生產環境執行個體的內容。

範例:建立自架式預備執行個體

假設您的 Metabase 生產環境執行個體在 Docker 或類似環境上執行

  1. 備份用於生產環境執行個體的應用程式資料庫。
  2. 建立名為 staging 的新容器。
  3. staging 容器中,使用下列設定啟動全新的 Metabase

    • 使用適當的 環境變數連線至您的生產環境應用程式資料庫。
    • 使用 MB_PREMIUM_EMBEDDING_TOKEN新增您的授權金鑰。
    • 包含符合您的生產環境執行個體的版本標籤(例如 metabase/metabase-enterprise:v1.53.2)。
  4. 一旦 Metabase 在 staging 容器中執行,請執行序列化 匯出 命令。
  5. 將匯出儲存到您想要的任何物件儲存空間。
  6. 選用:編輯匯出的 YAML 檔案。例如,您可以執行指令碼以將 ID = 1 取代為 ID = 2
  7. 重新啟動 staging 容器。
  8. staging 容器中,建立新的應用程式資料庫。
  9. 使用序列化 [匯入](/docs/latest/installation-and-operation/serialization 命令啟動 Metabase

    • 使用適當的 環境變數連線至新的應用程式資料庫。
    • 使用 MB_PREMIUM_EMBEDDING_TOKEN新增您的授權金鑰。
    • 包含符合您的生產環境執行個體的版本標籤(例如 metabase/metabase-enterprise:v1.53.2)。

確切步驟將取決於您的部署。如果您遇到困難,您可以隨時詢問我們的成功工程師之一

每個環境一個集合

若要在不進行序列化的情況下管理 Metabase 儀表板的變更,您可以使用集合集合權限歷史記錄

範例:建立生產環境和開發環境集合

以下是如何設定每個集合一個「環境」的範例

  1. 建立兩個名為 ProdDev集合
  2. 建立兩個名為 End UsersDevelopers群組
  3. 設定每個群組的集合權限
    • Developers 可以策展 ProdDev 集合。
    • End Users 可以檢視 Prod 集合。
  4. 選用:設定每個群組的資料權限。例如
    • Developers 取得對 DevProd 集合中使用的表格或資料庫的查詢產生器和原生存取權。
    • End Users 取得對 Prod 集合中使用的表格或資料庫的沙箱存取權。

Developers 群組的成員可以複製移動 ProdDev 集合之間的項目,以便在不公開進行中工作的情況下進行變更。人員也將能夠使用項目的歷史記錄來檢視和還原變更。

延伸閱讀

下一步:序列化:在新 Metabase 執行個體中預先載入儀表板

如何使用 Metabase 的序列化功能,將問題、儀表板、集合、設定等從一個 Metabase 執行個體複製到新的 Metabase 執行個體。

下一篇文章