Backup to GitHub(备份到 GitHub)

该工作流自动将所有工作流配置备份至指定的 GitHub 仓库,确保数据安全与版本控制。通过定时或手动触发,工作流逐个处理配置文件,判断与 GitHub 上文件的差异,执行相应的创建或更新操作。此流程有效管理工作流,防止数据丢失,同时节省存储资源,适合需要定期备份和版本管理的团队与个人。

流程图
Backup to GitHub(备份到 GitHub) 工作流程图

工作流名称

Backup to GitHub(备份到 GitHub)

主要功能和亮点

该工作流实现了自动备份所有 n8n 实例中的工作流配置到指定的 GitHub 仓库。备份文件以工作流的 ID 作为文件名,存储为 JSON 格式。通过定时触发或手动执行,工作流会逐个处理所有工作流数据,比较本地工作流与 GitHub 上已有文件的差异,自动判断文件状态(相同、不同或新建),并执行相应的创建或更新操作。采用子工作流调用结构,有效降低内存使用,提高执行稳定性。

解决的核心问题

  • 自动化管理和备份 n8n 工作流,防止意外丢失或误操作导致的工作流配置丢失。
  • 通过版本对比机制,避免重复备份相同内容,节省存储和操作资源。
  • 支持分类存储,方便按照标签将工作流备份到指定仓库路径。

应用场景

  • n8n 自动化平台用户需要定期备份所有工作流配置文件,确保工作流版本的安全存储。
  • 团队协作中,需要将工作流配置统一管理和版本控制,方便追踪和回滚。
  • DevOps 或自动化运维场景下,保障工作流配置的持续备份和管理。

主要流程步骤

  1. 定时触发或手动执行工作流。
  2. 读取所有 n8n 实例中的工作流列表,循环逐个处理。
  3. 根据工作流的标签生成对应的 GitHub 仓库路径。
  4. 从 GitHub 仓库获取对应的备份文件(如果存在)。
  5. 判断 GitHub 上的文件内容与当前工作流配置是否相同:
    • 若相同,则跳过操作。
    • 若不同,则更新 GitHub 上的文件。
    • 若文件不存在,则新建文件。
  6. 针对大文件情况进行额外处理,保证数据完整。
  7. 操作完成后返回执行状态。

涉及的系统或服务

  • n8n:自动化工作流平台,作为数据源和执行环境。
  • GitHub API:用于获取、创建和编辑工作流备份文件,实现版本控制。
  • HTTP 请求节点:辅助处理大文件下载。
  • 代码节点(Code):对 JSON 工作流数据进行排序和比对,实现差异检测。
  • 定时触发节点(Schedule Trigger):定时自动执行备份任务。
  • 手动触发节点(Manual Trigger):支持手动启动备份流程。
  • 子工作流执行节点(Execute Workflow):分批处理工作流数据,提升效率。

适用人群或使用价值

  • n8n 用户和管理员,尤其是管理多个工作流或多个实例的团队。
  • 自动化开发者和DevOps工程师,需要对工作流配置进行版本控制和备份。
  • 希望通过云端版本库保障工作流安全,降低人为误操作风险的企业和个人。
  • 需要实现工作流配置自动化管理、归档和审计的用户。

此工作流通过将 n8n 工作流配置自动备份至 GitHub,帮助用户轻松实现工作流版本管理和数据安全,提升运维和开发效率,保障自动化资产的可靠性。

Backup to GitHub(备份到 GitHub)