跳转至

在环境之间复制工作#

将工作从一个 n8n 实例发送到另一个实例的步骤因您使用单个 Git 分支还是多个分支而异。

单个分支#

如果您有单个 Git 分支,复制工作的步骤是:

  1. 将工作从一个实例推送到 Git 分支。
  2. 登录到另一个实例以从 Git 拉取工作。您可以自动化拉取

多个分支#

如果您有多个 Git 分支,您需要在 Git 提供商中合并分支以在环境之间复制工作。您无法在 n8n 中直接在环境之间复制工作。

一个常见模式是:

  1. 在您的开发实例中进行工作。
  2. 将工作推送到 Git 中的开发分支。
  3. 将您的开发分支合并到您的生产分支。请参考您的 Git 提供商的文档来获取相关指导:
  4. 在您的生产 n8n 实例中,拉取更改。您可以自动化拉取

自动将更改发送到 n8n#

您可以使用 /source-control/pull API 端点自动化复制工作进程的部分。在合并更改后调用 API:

1
2
3
4
5
curl --request POST \
	--location '<YOUR-INSTANCE-URL>/api/v1/source-control/pull' \
	--header 'Content-Type: application/json' \
	--header 'X-N8N-API-KEY: <YOUR-API-KEY>' \
	--data '{"force": true}'

这意味着您可以使用 GitHub Action 或 GitLab CI/CD 在合并时自动将更改拉取到生产实例。

GitHub Action 示例:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
name: CI
on:
  # 在 "production" branch 的 push 或 pull request 事件时触发工作流
  push:
    branches: [ "production" ]
  # 允许您从 Actions 标签页手动运行此工作流
  workflow_dispatch:
jobs:
  run-pull:
    runs-on: ubuntu-latest
    steps:
      - name: PULL
				# 使用 GitHub secrets 保护敏感信息
        run: >
          curl --location '${{ secrets.INSTANCE_URL }}/version-control/pull' --header
          'Content-Type: application/json' --header 'X-N8N-API-KEY: ${{ secrets.INSTANCE_API_KEY }}'
此页面是否
💬 微信

🚀 与作者交流

关注公众号
n8n实战笔记公众号
n8n实战笔记
📚 教程 💡 案例 🔧 技巧
添加微信
添加作者微信
1对1 专业指导
⚡ 快答 🎯 定制 🚀 支持