N8N中文教程
使用 n8n/Enterprise_features/Source_control_and_environments

为环境设置源代码控制#

将一个 Git 仓库与 n8n 实例关联,并配置你的源代码控制。 n8n 使用源代码控制来提供环境功能。更多信息请参考 n8n 中的环境(Environments in n8n)。

前提条件#

要在 n8n 中使用源代码控制,你需要一个支持以下任一访问方式的 Git 仓库:

  • SSH 访问(使用部署密钥 deploy keys),或
  • HTTPS 访问(使用个人访问令牌 Personal Access Tokens)

本文档假设你已熟悉 Git 及所使用的 Git 服务提供商。

第一步:设置你的仓库和分支#

对于新配置:

  1. 创建一个新的仓库供 n8n 使用。
  2. 创建所需的分支。例如,如果你计划为测试和生产分别设置不同环境,则应为每个环境创建对应的分支。

为了帮助确定你的使用场景需要哪些分支,请参考 分支模式(Branch patterns)。

第二步:在 n8n 中配置 Git#

  1. 进入 设置(Settings) > 环境(Environments)
  2. 选择连接方式:
    • SSH:在 Git 仓库 URL(Git repository URL) 中输入仓库的 SSH 地址(例如,git@github.com:username/repo.git)。
    • HTTPS:在 Git 仓库 URL(Git repository URL) 中输入仓库的 HTTPS 地址(例如,https://github.com/username/repo.git)。
  3. 根据所选连接方式配置认证信息:
    • 使用 SSH:n8n 支持 ED25519 和 RSA 公钥算法。ED25519 是默认算法。如果 Git 主机要求使用 RSA,请在 SSH 密钥(SSH Key) 下选择 RSA,然后复制生成的 SSH 密钥。
    • 使用 HTTPS:输入你的凭据:
      • 用户名(Username):你在 Git 服务提供商上的用户名。
      • 令牌(Token):来自 Git 服务提供商的个人访问令牌(Personal Access Token, PAT)。

第三步:设置认证#

根据你选择的连接方式配置相应的认证机制。

SSH 认证(使用部署密钥 deploy keys)#

通过使用 n8n 提供的 SSH 密钥,在仓库中创建一个部署密钥(deploy key)来设置 SSH 访问权限。该密钥必须具有写入权限。 具体操作步骤取决于你使用的 Git 服务提供商。常见平台的帮助链接如下:

  • GitHub | 管理部署密钥(Managing deploy keys)
  • GitLab | 部署密钥(Deploy keys)

HTTPS 认证(使用个人访问令牌,Personal Access Tokens)#

创建一个具有仓库访问权限的个人访问令牌(Personal Access Token, PAT)。 常见平台创建 PAT 的帮助链接:

  • GitHub | 管理个人访问令牌
  • GitLab | 个人访问令牌
  • Bitbucket | 应用密码(App passwords)

你的令牌需要具备以下权限:

  • 仓库读写权限(Repository read/write access)
  • 内容读写权限(Contents read/write)——适用于 GitHub
  • 源代码拉取/推送权限(Source code pull/push)——适用于 GitLab

步骤 4:连接 n8n 并配置实例#

  1. 在 n8n 的 设置(Settings) > 环境(Environments) 中,选择 连接(Connect)。n8n 将连接到你的 Git 仓库。
  2. 实例设置(Instance settings) 下,选择你希望当前 n8n 实例使用的分支。
  3. 可选:勾选 受保护的实例(Protected instance),以防止用户在此实例中编辑工作流。这对于保护生产环境实例非常有用。
  4. 可选:为该实例选择一个自定义颜色。该颜色将显示在源代码控制的推送和拉取按钮旁的菜单中,帮助用户识别当前所处的实例。
  5. 点击 保存设置(Save settings)