
## 这个工作流适合谁?
这个工作流非常适合n8n自托管用户、DevOps工程师和自动化开发人员,他们希望定期自动将n8n工作流备份到GitHub。
## 这个工作流解决什么问题
手动备份n8n工作流既耗时又容易出错。这个工作流自动化了备份过程,确保所有工作流每24小时安全存储在版本控制的GitHub仓库中。
## 这个工作流做什么
这个自动化流程每天运行,将n8n实例中的所有工作流备份到指定的GitHub仓库。每个工作流都使用其唯一ID保存为.json文件,并按repo_path定义的文件夹路径进行组织。该工作流通过递归调用自身来有效管理内存使用。备份完成后,可选择发送Slack通知确认成功。
## 设置
配置子工作流中的Config节点以设置:
– GitHub仓库所有者
– GitHub仓库名称
– 主文件夹路径(repo_path)
连接您的GitHub和(可选)Slack凭据。
将工作流设置为每天cron计划运行。
手动测试工作流以确认GitHub集成正常工作。
## 技术架构
该工作流包含以下核心节点:
– **Schedule Trigger**:定时触发器,每天自动启动备份流程
– **Config**:配置节点,设置GitHub仓库信息和路径参数
– **Get Workflows**:从n8n实例获取所有工作流数据
– **Filter**:过滤最近更新的工作流(24小时内)
– **Loop Over Items**:分批处理工作流项目
– **Get a file**:从GitHub获取现有文件
– **isDiffOrNew**:代码节点,比较工作流差异
– **Switch**:根据文件状态路由到不同操作
– **Edit existing file**:编辑GitHub上的现有文件
– **Create new file**:在GitHub上创建新文件
– **Slack**:可选的通知节点
## 工作原理
工作流通过递归调用自身来减少内存使用,每个工作流都使用其唯一ID保存为.json文件。系统会智能检测工作流是否发生变化:
– **相同**:如果GitHub中的文件与当前工作流相同,则跳过
– **不同**:如果文件存在但有变化,则更新文件
– **新**:如果文件不存在,则创建新文件
备份完成后,系统会发送Slack通知,报告已处理的工作流数量。

评论(0)