
## 🔄 工作流目的
n8n自动更新工作流旨在自动触发Portainer webhook来更新n8n容器,但仅当有新版本的n8n可用时才会执行。
## ⚙️ 详细工作流步骤
### 🕒 定时触发器
工作流使用定时触发器节点,每16小时在分钟8时运行一次。
### 🌐 获取最新n8n版本
发送HTTP GET请求到 https://registry.npmjs.org/n8n/latest,从npm注册表检索最新发布的n8n版本。
### 📈 获取当前运行的本地版本
另一个HTTP GET请求发送到 https://127.0.0.1/metrics(可能是本地n8n实例的Prometheus指标端点),提取当前安装的n8n版本。
### 🧠 版本比较
工作流比较本地版本(从指标中解析)与最新可用版本。
### 📬 触发Portainer Webhook
如果版本不匹配(即有更新可用),则向webhook URL发送POST请求,该URL可能是Portainer webhook,用于重新部署或更新n8n容器/堆栈。
## ✅ 主要优势
– 无需手动检查或更新
– 仅在新版本可用时触发
– 通过webhook与Portainer无缝集成
– 安全配置,例如禁止未经授权的TLS证书用于外部请求
## 🛠️ 技术实现
工作流包含以下核心节点:
– Schedule Trigger:定时触发工作流执行
– HTTP Request:获取最新版本和本地指标
– Code:从指标数据中提取版本信息
– If:版本比较逻辑判断
– HTTP Request:触发Portainer webhook
## 📝 配置说明
– 定时器设置为每16小时运行一次
– 本地版本通过解析Prometheus指标获取
– 版本比较使用字符串不相等判断
– 安全设置禁止未经授权的证书

评论(0)