长期以来,自动保存一直是社区最受欢迎的功能。但实现它并不像简单地移除“保存”按钮那么简单。在 n8n 的早期版本中,“保存”一个正在运行的工作流等同于“部署”它。如果我们简单地启用了自动保存,那么每一个未完成的节点配置或逻辑中的临时中断都会立即推送到生产环境。
为了提供自动保存功能,我们首先必须从根本上改变 n8n 处理工作流状态的方式。我们必须将保存您的工作的行为与将其实时部署的行为分离。
本文将解释自动保存和发布如何协同工作,为关键自动化提供安全保障。
让我们了解一下驱动新的工作流生命周期的关键机制。
这是最重要的变化。您不再有保存按钮。编辑器现在每两秒检查一次更改并自动保存。无需担心浏览器崩溃、意外关闭标签页或仅仅是“我忘记保存了”的情况。
过去,保存一个已激活的工作流意味着对实时环境进行即时更改。现在,您可以明确控制工作流的哪个版本是实时的。您可以继续更改和迭代工作流数天,而已发布版本将继续运行旧的、稳定的逻辑。
注意:发布功能是在 v2.0.0 中添加的
历史记录面板现在是您工作流的迷你“指挥中心”。跟踪更改、执行即时回滚或发布任何先前版本。
n8n 现在检测到同事是否正在编辑工作流,并暂时为其他人锁定画布为只读模式,确保您永远不会意外覆盖彼此的活动工作。
- 创建一个新的工作流
- 发布它(使其生效)
- 安全更新(更新已发布的工作流)
- 发布新版本
- 回滚到以前的版本
从您开始编辑的那一刻起,自动保存已激活。
当您对工作流进行更改时,屏幕右上角的历史记录图标(时钟)会偶尔旋转,以确认它正在后台不断保存。您的工作是安全的。
此时,如果我们查看发布按钮,它将没有状态图标。这意味着工作流当前未发布 – 尚未生效。

完成构建初始流程并成功测试后,就可以使其生效(以前称为激活)。
当您单击右上角的发布按钮时,系统会要求您提供版本名称和可选描述。现在,此工作流中的任何 Webhook 或其他触发器都处于活动状态并正在侦听。

按钮现在显示 [已发布],并且我们有一个绿色状态图标,这意味着您当前查看的是活动的生产版本。太棒了!

现在它已发布,我们希望进行改进,但不要影响实时发布的版本。
我们可以简单地继续更改工作流。它只会影响编辑器中的版本,不会影响已发布版本。
当您进行第一次更改时,发布按钮旁边的图标变为黄色。这表示当前版本与生产版本已不同。

准备好将新更改推送到生产环境后,单击 [发布] 按钮,系统会要求您输入名称(让我们称之为“版本 2”)。状态图标再次变为绿色。当前版本现在已发布,新逻辑生效。

五分钟后,您意识到版本 2 引入了一个糟糕的错误,需要立即修复生产环境。
与其疯狂地撤消更改,不如现在回滚并发布(或重新发布)版本历史记录面板中的任何版本
- 找到以前的版本(版本 1.0 – 以前有效的一个)。
- 单击该版本旁边的三个点菜单。
- 选择发布此版本。

生产环境会立即恢复到安全版本,为我们提供时间来修复错误。危机已解除!
最后,自动保存引入了一个新的挑战:在协作环境中,我们如何确保团队成员不会意外覆盖彼此的工作?
为了解决这个问题,我们引入了并发保护。
当您打开团队成员当前正在编辑的工作流时,n8n 会检测到该活动并自动以只读模式(对角线)加载编辑器,并会收到一条消息,告知您当前正在处理工作流的人员。

实时更新
在只读模式下,您看到的不仅仅是静态快照。当您的团队成员添加节点或更改参数时,您的屏幕会以接近实时的速度更新。这使您可以实时观看他们的进度。
一旦您的团队成员离开工作流或在短时间内处于不活动状态,编辑锁定就会解除,画布将从只读模式更改为编辑模式。由于您的屏幕一直在更新,您可以简单地接管并从他们停止的地方开始编辑。
我们还为那些不小心(或故意)在多个标签页甚至不同的浏览器中打开相同工作流的情况添加了保障措施。
假设您在标签页 A 中进行编辑,然后在切换回过时的标签页 B 尝试进行更改,n8n 仍然会捕获冲突。
与静默保存(并可能丢失在标签页 A 中所做的工作)不同,您将看到一个弹出窗口,提醒您工作流已被修改。然后,您将获得一个选择

这确保了即使您混淆了标签页,也不会在没有做出有意识决定的情况下丢失代码。
自动保存 Beta 版 (v2.4.0) 提供了自动保存、发布和并发保护的核心功能,并且我们将在未来几周内推出一个快速更新,添加一些关键功能
- 自定义版本名称: 很快,您将能够为任何版本指定名称而无需发布它。这非常适合标记您的进度或在迭代复杂逻辑时识别特定状态。
- 视觉历史记录改进: 我们正在改进版本历史记录面板,使其更容易一目了然地确定哪些版本已发布,哪些版本未发布。
- 重命名: 您还可以重命名以前的版本,以保持历史记录的井井有条。
这些更新即将到来。
我们终于很高兴为您提供自动保存功能,作为更新的一部分,为您提供一个可靠且安全的环境,您可以在其中自信地构建复杂自动化。
自动保存、改进的版本发布和并发保护现在在 Beta 版 (v2.4.0) 中可用。
与所有 Beta 功能一样, 请避免在关键生产实例中使用此功能,直到发布稳定版本为止。
发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/246114.html原文链接:https://javaforall.net
