n8n 教程:轻松上手强大的开源自动化工具 – wiki大全

n8n 教程:轻松上手强大的开源自动化工具

你是否曾想过让不同的应用程序为你协同工作,自动处理那些重复乏味的任务?比如,当你的网站有新用户注册时,自动发送一封欢迎邮件,并在你的团队聊天工具中收到通知。这就是自动化工具的魅力所在,而 n8n 就是其中一款强大、灵活且开源的佼佼者。

本文将带你从零开始,轻松上手 n8n,并通过一个实用的案例,让你真正体验到自动化工作流的便利。

什么是 n8n?

n8n 是一个开源的、可视化的工作流自动化工具。你可以通过拖拽节点、连接服务,来创建复杂的自动化任务,而无需编写大量代码。你可以将它看作是 IFTTT 或 Zapier 的一个更强大、更可定制的开源替代品。

为什么选择 n8n?

  • 开源免费:你可以完全控制你的数据,可以自托管在自己的服务器上。
  • 可视化编辑器:通过直观的拖拽界面,让创建和理解工作流变得简单。
  • 强大的灵活性:支持超过 200 种不同的应用集成,并且允许你通过代码节点执行自定义逻辑。
  • 社区驱动:拥有一个活跃的社区,不断有新的节点和功能被添加进来。

安装 n8n

n8n 提供了多种安装方式,包括云版本、桌面应用和自托管。对于大多数开发者来说,使用 Docker 是最方便、最推荐的自托管方式。

使用 Docker 安装

  1. 创建 docker-compose.yml 文件

    在你的项目目录中,创建一个名为 docker-compose.yml 的文件,并填入以下内容:

    “`yaml
    version: ‘3.8’

    services:
    n8n:
    image: n8nio/n8n
    restart: unless-stopped
    ports:
    – “5678:5678”
    volumes:
    – ~/.n8n:/home/node/.n8n
    environment:
    – TZ=Asia/Shanghai # 设置你的时区
    “`

    这个配置会:
    * 使用官方的 n8n 镜像。
    * 将容器的 5678 端口映射到你主机的 5678 端口。
    * 将 n8n 的数据(工作流、凭证等)持久化到你主目录下的 .n8n 文件夹,防止容器重启后数据丢失。

  2. 启动 n8n

    docker-compose.yml 文件所在的目录中,运行以下命令:

    bash
    docker-compose up -d

  3. 访问 n8n

    现在,打开你的浏览器,访问 http://localhost:5678。你就应该能看到 n8n 的主界面了。

n8n 核心概念

在开始创建工作流之前,我们先来了解几个核心概念:

  • 工作流 (Workflow):一个完整自动化任务的蓝图,由一系列相互连接的节点组成。
  • 节点 (Node):工作流的基本构建块,每个节点执行一个特定的操作。例如,一个节点可以用来接收数据,另一个可以用来发送邮件。
  • 触发节点 (Trigger Node):每个工作流的起点,它决定了工作流何时开始执行。例如,“当收到一个 webhook 请求时”或“每小时执行一次”。
  • 连接 (Connection):连接线将节点串联起来,定义了数据的流向。数据从一个节点的输出端流向下一个节点的输入端。
  • 凭证 (Credentials):用于安全地存储访问各种服务(如 GitHub, Google, Discord)所需的认证信息(如 API 密钥、用户名密码等)。

实战教程:GitHub 提交自动通知到 Discord

接下来,让我们通过一个实际的例子来体验 n8n 的强大功能:当你的 GitHub 仓库有新的代码提交时,自动在你的 Discord 频道发送一条通知。

第 1 步:创建新工作流并添加 GitHub 触发器

  1. 在 n8n 界面中,点击 “Add workflow” 创建一个新的工作流。
  2. 点击 “+” 按钮,在节点列表中搜索 “GitHub” 并选择它。
  3. 在 GitHub 节点的 “Event” 字段中,选择 “Push”。
  4. n8n 会为你生成一个 Webhook URL。复制这个 URL。

第 2 步:在 GitHub 仓库中设置 Webhook

  1. 打开你的 GitHub 仓库页面,进入 “Settings” -> “Webhooks”。
  2. 点击 “Add webhook”。
  3. 将从 n8n 复制的 URL 粘贴到 “Payload URL” 字段中。
  4. “Content type” 选择 “application/json”。
  5. 在 “Which events would you like to trigger this webhook?” 中,选择 “Just the push event”。
  6. 确保 “Active” 已勾选,然后点击 “Add webhook”。

第 3 步:测试 GitHub 触发器

回到 n8n 界面,点击 GitHub 节点下方的 “Execute Node” (或 “Fetch test event”)。然后向你的 GitHub 仓库推送一次代码提交 (git push)。如果一切正常,n8n 的 GitHub 节点会捕获到这次 push 事件,并显示出详细的数据。

第 4 步:添加 Discord 节点并配置

  1. 在 n8n 工作流中,点击 GitHub 节点右侧的 “+” 按钮,搜索 “Discord” 并添加它。
  2. 你需要一个 Discord Webhook URL 来让 n8n 发送消息。
    • 在你的 Discord 服务器中,进入频道设置 -> “Integrations” -> “Webhooks”。
    • 创建一个新的 Webhook,并复制 “Webhook URL”。
  3. 回到 n8n,在 Discord 节点的 “Webhook URL” 字段中,粘贴你刚刚复制的 URL。
  4. 现在,我们可以定制要发送的消息内容。在 “Content” 字段中,我们可以使用来自上一个节点(GitHub 节点)的数据。
    • 点击 “Content” 字段右侧的表达式编辑器图标 {=}
    • 你可以通过 {{$json.body...}} 的方式来引用上一个节点的数据。例如,要获取提交信息和作者,你可以这样写:
      New commit by {{$json.body.head_commit.author.name}}: {{$json.body.head_commit.message}}
    • 你还可以添加 “Embeds” 来发送格式更丰富的消息。

第 5 步:连接并激活工作流

  1. 将 GitHub 节点的输出端(右侧的小圆点)连接到 Discord 节点的输入端(左侧的小圆点)。
  2. 点击右上角的 “Activate” 开关,激活你的工作流。

现在,每当你向配置好的 GitHub 仓库推送新的提交时,你的 Discord 频道就会立即收到一条包含提交信息的通知!

更多探索

我们刚刚只触及了 n8n 功能的皮毛。你还可以探索:

  • 错误处理:设置当工作流执行失败时要执行的操作。
  • Code 节点:使用 JavaScript 或 Python 编写自定义逻辑来处理数据。
  • 定时任务:使用 “Cron” 节点来按计划执行工作流。
  • 丰富的应用集成:浏览节点列表,看看你还能连接哪些你喜欢的应用。

总结

n8n 是一个非常强大的自动化工具,它通过可视化的方式,极大地降低了实现复杂自动化的门槛。无论你是开发者、市场营销人员还是普通用户,都可以通过 n8n 将你的创意变为现实,从重复性的工作中解放出来,专注于更有价值的事情。

希望这篇教程能帮助你开启 n8n 的自动化之旅。现在就动手尝试,创建属于你自己的第一个自动化工作流吧!

滚动至顶部