跳到主要内容

分支模式

n8n 实例与 Git 分支之间的关系很灵活,可以根据需要建立不同配置。

信息

建议:不要对同一个 n8n 实例既推送又拉取

可以从实例向分支推送工作,再拉取到同一实例,但 n8n 不推荐这样做。为降低合并冲突和覆盖工作的风险,请尽量建立单向流程:要么将工作推送到 Git,要么从 Git 拉取,避免在同一实例中双向操作。

多实例、多分支 ​

此模式使用多个 n8n 实例,每个实例连接自己的分支。

可以使用此模式建立环境。例如,创建开发和生产两个 n8n 实例,分别连接各自的分支。从开发实例推送工作到其分支,通过拉取请求将工作合并到生产分支,然后拉取到生产实例。

此模式的优点:

  • 额外增加一层保护,防止更改误入生产环境。必须通过 GitHub 中的拉取请求,才能在环境间复制工作。
  • 支持两个以上的实例。

缺点是在环境间复制工作需要更多手动步骤。

开发和生产 n8n 实例分别连接各自的 Git 分支,通过拉取请求在分支间迁移工作

多实例、单分支 ​

如果希望各处使用相同的工作流、标签和变量,但在不同 n8n 实例中使用,可以选择此模式。

可以使用此模式建立环境。例如,创建开发和生产两个 n8n 实例,都连接到同一分支。从开发实例推送工作,再拉取到生产实例。

此模式也适合测试 n8n 新版本:创建运行新版本的 n8n 实例,连接到 Git 分支进行测试。生产实例则继续运行旧版本,直到确认可以安全升级。

此模式的优点是:从一个实例推送后,其他环境可以立即获取这些工作。

缺点如下:

  • 如果误推送,工作可能进入生产实例。如果使用 GitHub Action 自动拉取到生产环境,必须改用多实例、多分支模式,或严格避免推送不希望进入生产环境的工作。
  • 对同一实例既推送又拉取,可能因操作覆盖更改而造成数据丢失。应建立流程,确保内容单向流动。

开发和生产 n8n 实例连接到同一个 Git 分支

单实例、多分支 ​

实例所有者可以更改实例连接的 Git 分支。整体配置可能仍采用多实例、多分支模式,但其中一个实例会在分支间切换。

这适合审核工作。例如,不同用户可在各自的实例中工作,并推送到各自的分支。审核者在审核实例中切换分支,加载不同用户的工作。

信息

不会清理内容

更换分支时,n8n 不会清理实例中已有内容。在此模式下切换分支,会使各分支中的工作流都留在实例中。

一个 n8n 实例在多个 Git 分支间切换,审核不同用户推送的工作

单实例、单分支 ​

这是最简单的模式。

一个 n8n 实例连接到一个 Git 分支

相关资源 ​

本文为社区中文翻译。查看对应英文原文