使用这个强大的 n8n 工作流自动将您所有的 n8n 工作流备份到 GitHub,确保版本控制和历史记录。支持动态路径和高效的差异检查。
下载此 n8n 工作流模板并立即开始使用。
需要为所有生产环境 n8n 工作流配置提供可靠版本控制的 n8n 管理员和 DevOps 团队。
正在寻找利用自调用递归工作流的高级 n8n 模板的用户。
这是一个专为在生产环境中运行 n8n 的组织设计的关键维护性 n8n 工作流解决方案。它通过将每个 n8n 工作流文件 (ID.json) 进行健壮的版本控制备份到 GitHub,来解决工作流丢失和配置漂移的难题。该系统采用复杂的递归 n8n 节点方法,迭代地获取并比较正在运行的工作流的当前状态与其在仓库中存储的版本。
这个 n8n 工作流的一个关键优势是其效率。通过在专用的 Code n8n 节点内采用自定义比较逻辑,它仅在检测到实际功能差异时才与 GitHub API 交互以执行更新。这最大限度地减少了不必要的 API 调用,并确保您的仓库历史记录干净且有意义。以这个 n8n 工作流为基础,您可以确保您的自动化逻辑得到一致的备份和跟踪。
流程可以通过手动点击 On clicking 'execute' n8n 触发器启动,也可以通过 Schedule Trigger n8n 节点自动启动(通常配置为每天早上 7 点运行)。
n8n n8n 节点从当前实例中检索所有已发布工作流的完整列表。Loop Over Items n8n 节点和随后的 Execute Workflow n8n 节点建立了一个自调用、递归的循环。采用这种模式是为了通过将每个项目作为子工作流调用来高效处理数百个工作流。Globals n8n 节点定义了目标 GitHub 参数(所有者、仓库,以及基于工作流标签的动态路径,由前面的 tag? 和 / n8n 节点处理)。 Get file data GitHub n8n 节点尝试从仓库中获取现有的 JSON 文件。关键是,如果文件是新的,它会继续执行(Continue on fail)。如果文件太大无法直接检索,If file too large 会将数据项路由到 Get File (HTTP Request) 节点,通过提供的 URL 下载内容。Merge Items 节点合并了工作流数据和 GitHub 文件数据。然后 isDiffOrNew Code n8n 节点会解码现有文件内容(如果存在),对新旧两个 JSON 对象中的键进行排序,并执行比较。它会分配一个状态:“same”(相同)、“different”(不同)或“new”(新建)。Check Status Switch n8n 节点根据确定的状态引导流程走向。如果状态是“new”,则执行 Create new file GitHub n8n 节点。如果状态是“different”,则 Edit existing file GitHub n8n 节点会更新内容。如果状态是“same”,则 n8n 工作流将不对该项执行任何操作直接完成。要部署这个强大的 n8n 工作流,请遵循以下步骤:
Get file data、Create new file 和 Edit existing file n8n 节点中设置或选择您的 GitHub API 凭证。确保凭证令牌具有仓库读/写权限。n8n 节点中设置您的 n8n API 凭证,以便它可以列出实例上的工作流。Globals n8n 节点,并在 Assignments 选项卡下更新参数:repo.owner:您的 GitHub 用户名/组织名称。repo.name:您希望用于备份的仓库名称。repo.path:所需的子目录路径(例如 workflows/)。如果您想使用动态标签功能,请保留现有表达式。 Manual Trigger n8n 节点手动运行工作流,或者依赖配置好的 Schedule Trigger n8n 触发器进行每日自动化运行。此 n8n 工作流利用了几个关键节点来实现其目标:
Schedule Trigger / Manual Trigger (n8n trigger): 启动备份过程,为定时或临时运行提供灵活性。
n8n (n8n node): 从 n8n 实例中获取所有工作流的列表,为主要循环提供输入数据。
Execute Workflow (n8n node): 对于递归子工作流模式至关重要,它能高效地迭代所有工作流,而不会使内存超载。
Globals (Set n8n node): 存放关键的配置变量(GitHub 仓库详情),在激活 n8n 工作流之前必须编辑这些变量。
Get file data (GitHub n8n node): 尝试从 GitHub 获取现有的工作流备份文件,这对比较步骤至关重要。配置为失败后继续。
If file too large (If n8n node) & Get File (HTTP Request n8n node): 处理 GitHub 返回下载 URL 而非内容的情况,确保大型工作流文件能成功获取。
isDiffOrNew (Code n8n node): 包含核心的自定义脚本逻辑。此 n8n 节点会解码 base64 内容,对 JSON 键进行排序,并比较字符串化的对象,以确定是否发生了有意义的更改,并设置 githubstatus 属性。
Check Status (Switch n8n node): 根据 Code n8n 节点计算出的 githubstatus(new、different 或 same)来引导流程走向。
使用这个强大的 n8n 工作流,自动将你所有的解密后 n8n 凭据备份到 GitHub。通过这个可靠的 n8n 模板解决方案来保护你的数据。

为您的 n8n 实例自动化实现稳定可靠的版本控制。此 n8n 工作流使用 n8n 触发器来获取所有活跃的 n8n 模板,并将它们安全地备份到 GitHub,确保数据完整性和方便回滚。

使用这个稳定可靠的 n8n 工作流,通过 n8n API 自动备份您的生产环境 n8n 工作流并进行版本控制,将其存入备用 n8n 实例。包含滚动保留策略和 Notion 记录追踪。

使用这个稳健的 n8n 工作流,自动将您的所有 n8n 工作流备份到指定的 GitHub 仓库。为您的 n8n 自动化项目确保数据安全和版本控制。








































