教程:多环境

用于启动开发、预演或测试环境的选项。

一旦您开始 在生产环境中运行 Metabase,您可能希望在单独的环境中进行测试和开发。对于大多数团队来说,这意味着复制生产环境中部分(或全部)图表和仪表板,对这些副本进行更改,然后可选地将这些更改推回生产环境。

对于希望一次性以编程方式更改许多 Metabase 项或设置的团队,最好设置 每个环境一个实例。您也可以通过创建 每个环境一个集合 来为 仪表板维护 模拟开发和生产环境。

每个环境一个实例

要为您的每个环境设置一个实例,您需要一个 自托管的 Pro 或 Enterprise 计划。由于自托管的 Pro 和 Enterprise 计划方便地 按账户收费,您可以随意启动任意数量的 Metabase 实例。请记住,您需要为所有 Metabase 实例的总用户数付费,因此只为您设置预演或开发实例所需的最低用户数添加用户(例如,在某个组中设置一个单独的测试用户来测试权限,而不是添加您生产实例中的所有用户)。

要基于您生产的 Metabase 启动新环境,您将使用 Metabase 的 序列化 功能来创建您的图表、仪表板和设置的导出。您还可以在将导出导入到新的预演 Metabase 实例之前编辑导出的 YAML 文件。例如,您可以创建一组带有 品牌 的仪表板模板,这些模板可用于填充任何新环境。

当需要将更改从预演推回到生产环境时,您的团队将使用相同的序列化过程从预演导出并导入到生产环境。您还可以设置自己的集成测试,以避免导入可能破坏您生产实例的任何内容。

示例:创建自托管的预演实例

假设您的 Metabase 生产实例正在 Docker 或类似环境中运行

  1. 备份您生产实例使用的应用程序数据库。
  2. 创建一个名为 staging 的新容器。
  3. staging 容器启动一个新的 Metabase,并进行以下设置:

    • 使用相应的 环境变量 连接到您的生产应用程序数据库。
    • 使用 MB_PREMIUM_EMBEDDING_TOKEN 添加您的许可证密钥。
    • 包含与您的生产实例匹配的版本标签(例如 metabase/metabase-enterprise:v1.57.7)。
  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.57.7)。

具体步骤将取决于您的部署。如果您遇到困难,您可以随时 向我们的成功工程师咨询

每个集合一个环境

要管理 Metabase 仪表板的更改而不使用序列化,您可以改用 集合集合权限历史记录

示例:创建生产和开发集合

以下是如何为每个集合设置一个“环境”的示例:

  1. 创建两个名为 ProdDev集合
  2. 创建两个名为 End UsersDevelopers
  3. 设置每个组的 集合权限
    • Developers 可以 管理 ProdDev 集合。
    • End Users 可以 查看 Prod 集合。
  4. 可选:设置每个组的 数据权限。例如:
    • DevelopersDevProd 集合中使用的表或数据库拥有 查询构建器和原生 访问权限。
    • End UsersProd 集合中使用的表或数据库设置了 行和列安全

Developers 组的成员可以 复制移动 项在 ProdDev 集合之间,以进行更改而不会暴露正在进行的工作。人们还可以使用项的 历史记录 来查看和恢复更改。

延伸阅读

这有帮助吗?

感谢您的反馈!
订阅新闻通讯
Metabase 的更新和新闻
© . This site is unofficial and not affiliated with Metabase, Inc.