多個環境
啟動開發、預備或測試環境的選項。
一旦您開始 在生產環境中執行 Metabase,您可能希望在個別環境中進行測試和開發。對於大多數團隊而言,這表示製作生產環境中某些(或所有)圖表和儀表板的副本、變更這些副本,然後選擇性地將這些變更推送回生產環境。
對於想要一次對許多 Metabase 項目或設定進行程式化變更的團隊來說,最好設定每個環境一個執行個體。您也可以模擬 儀表板維護的開發和生產環境,方法是建立每個環境一個集合。
每個環境一個執行個體
若要為您的每個環境設定一個執行個體,您需要自架式 Pro 或 Enterprise 方案。由於自架式 Pro 和 Enterprise 方案方便地按帳戶收費,因此您可以隨意啟動任意數量的 Metabase 執行個體,而無需額外費用。
若要根據您的生產 Metabase 建立新環境,您將使用 Metabase 的序列化功能來建立圖表、儀表板和設定的匯出。您也可以在將匯出匯入新的 Metabase 預備執行個體之前,編輯匯出的 YAML 檔案。例如,您可以建立一組具有品牌化的儀表板範本,可用於填入任何新環境。
當需要將變更從預備推送回生產環境時,您的團隊將使用相同的序列化程序,從預備匯出並將其匯入生產環境。您也可以設定自己的整合測試,以避免匯入任何可能破壞生產環境執行個體的內容。
範例:建立自架式預備執行個體
假設您的 Metabase 生產環境執行個體在 Docker 或類似環境上執行
- 備份用於生產環境執行個體的應用程式資料庫。
- 建立名為 staging 的新容器。
-
從 staging 容器中,使用下列設定啟動全新的 Metabase
- 使用適當的 環境變數連線至您的生產環境應用程式資料庫。
- 使用
MB_PREMIUM_EMBEDDING_TOKEN
新增您的授權金鑰。 - 包含符合您的生產環境執行個體的版本標籤(例如
metabase/metabase-enterprise:v1.53.2
)。
- 一旦 Metabase 在 staging 容器中執行,請執行序列化 匯出 命令。
- 將匯出儲存到您想要的任何物件儲存空間。
- 選用:編輯匯出的 YAML 檔案。例如,您可以執行指令碼以將
ID = 1
取代為ID = 2
。 - 重新啟動 staging 容器。
- 從 staging 容器中,建立新的應用程式資料庫。
-
使用序列化 [匯入](/docs/latest/installation-and-operation/serialization 命令啟動 Metabase
- 使用適當的 環境變數連線至新的應用程式資料庫。
- 使用
MB_PREMIUM_EMBEDDING_TOKEN
新增您的授權金鑰。 - 包含符合您的生產環境執行個體的版本標籤(例如
metabase/metabase-enterprise:v1.53.2
)。
確切步驟將取決於您的部署。如果您遇到困難,您可以隨時詢問我們的成功工程師之一!
每個環境一個集合
若要在不進行序列化的情況下管理 Metabase 儀表板的變更,您可以使用集合、集合權限和歷史記錄。
範例:建立生產環境和開發環境集合
以下是如何設定每個集合一個「環境」的範例
- 建立兩個名為 Prod 和 Dev 的集合。
- 建立兩個名為 End Users 和 Developers 的群組。
- 設定每個群組的集合權限
- Developers 可以策展 Prod 和 Dev 集合。
- End Users 可以檢視 Prod 集合。
- 選用:設定每個群組的資料權限。例如
- Developers 取得對 Dev 和 Prod 集合中使用的表格或資料庫的查詢產生器和原生存取權。
- End Users 取得對 Prod 集合中使用的表格或資料庫的沙箱存取權。
Developers 群組的成員可以複製和移動 Prod 和 Dev 集合之間的項目,以便在不公開進行中工作的情況下進行變更。人員也將能夠使用項目的歷史記錄來檢視和還原變更。
延伸閱讀
下一步:序列化:在新 Metabase 執行個體中預先載入儀表板
如何使用 Metabase 的序列化功能,將問題、儀表板、集合、設定等從一個 Metabase 執行個體複製到新的 Metabase 執行個體。