项目

项目介绍

项目是管理流程文件的新方式。它们不再将您的流程视为简单的文件对,而是代表了创建可再分发 Node-RED 应用程序所需的一切。

它们由 Git 仓库支持,这意味着所有文件都完全版本控制,并允许开发人员使用熟悉的工流与他人协作。

在 0.18 版本中,项目功能处于预览模式。这意味着必须在设置文件中启用它。

该功能目前在 IBM Cloud 环境中不可用。

启用项目

要启用项目功能,请编辑您的 settings.js 文件,并在 module.exports 块中添加以下选项,然后重启 Node-RED。

注意settings.js 文件导出一个 JavaScript 对象。要配置 Node-RED,您应该了解如何通过添加新键值对或修改现有键值对(如以下 editorTheme)来修改 JavaScript 对象。
   editorTheme: {
       projects: {
           enabled: true
       }
   },

也可以通过将 NODE_RED_ENABLE_PROJECTS 环境变量设置为 true 来启用项目功能。

该功能依赖于 gitssh-keygen 命令行工具的可用性。Node-RED 将在启动时检查它们,并在缺失时通知您。

创建您的第一个项目

当您打开编辑器时,会看到一个欢迎屏幕,邀请您使用现有流程文件创建您的第一个项目。

Projects Welcome Screen

它将引导您完成以下步骤

  1. 设置您的版本控制客户端

    Node-RED 使用开源工具 Git 进行版本控制。它跟踪您项目文件的更改,并允许您将它们推送到远程仓库。

    当您提交一组更改时,Git 会记录谁使用用户名和电子邮件地址进行了更改。用户名可以是您想要的任何名称 - 不需要是您的真实姓名。

    您可能已经配置了 Git 客户端 - 在这种情况下,Node-RED 将重复使用这些设置。

    您可以随时通过主 Node-RED 设置对话框更改这些设置。

  2. 创建您的项目

    下一步允许您命名您的项目并提供描述。

  3. 创建您的项目文件

    Node-RED 会自动将您现有的流程文件迁移到您的项目中。如果需要,您可以在此处选择重命名它们。

  4. 设置凭据文件加密

    由于您可能选择在 GitHub 等公共网站上共享您的项目,因此 强烈 建议您加密您的凭据文件。

    要加密它,您需要选择一个用于保护文件的密钥。此密钥不存储在项目中。如果其他人克隆您的项目,您需要向他们提供密钥以解密凭据文件。否则,他们需要编辑流程以提供自己的凭据。

项目将在以下目录中创建:~/.node-red/projects/<project-name>

使用项目

创建项目后,您可以像往常一样继续使用 Node-RED 编辑器。编辑器中添加了一些新部分以配合您的项目使用。

访问项目设置

信息侧边栏现在在顶部显示您正在处理的项目。项目名称旁边有一个按钮,可以打开“项目设置”对话框。

您也可以从主菜单中的 项目 -> 项目设置 选项访问此功能。

对话框有三个选项卡

  • 项目 - 允许您编辑项目的 README.md 文件。
  • 依赖项 - 管理您的项目所依赖的节点模块列表。
  • 设置 - 管理项目设置,包括 Git 远程仓库。
项目依赖项

每个项目都有自己的 package.json 文件,其中包含项目所依赖的节点模块列表。Node-RED 编辑器会跟踪您在流程中使用的节点,并帮助您保持依赖项列表的最新状态。

在上面的截图中,当前项目在 package.json 文件中列出了三个模块,每个模块都处于不同的状态

  • node-red-node-mysql 当前未安装
  • node-red-node-random 被当前流程使用
  • node-red-node-rbe 已列出,但当前流程未使用

最后,node-red-node-smooth 提供了一个被当前流程使用的节点,但该模块未列为依赖项。

如果您想与他人共享项目,保持依赖项列表最新至关重要 - 因为它将帮助用户安装必要的模块。

项目设置

项目设置选项卡允许您管理流程文件、凭据的加密配置以及配置本地 Git 分支和远程仓库。

版本控制

侧边栏中添加了一个新的 历史 选项卡。这是您管理项目版本控制的地方。该选项卡有两个部分

  • 本地更改 - 显示已更改的项目文件,允许您暂存和提交它们。
  • 提交历史 - 仓库中所有提交的列表,以及将提交推送到远程仓库的工具。
本地更改

每当您更改项目文件(例如部署新的流程配置)时,它都会在“本地文件”部分中列出。您可以单击文件名查看更改的差异。当您将鼠标悬停在文件上时,您会看到一个 + 按钮 - 单击它会将文件暂存 - 将其移动到“待提交更改”列表。

当您暂存了要提交的文件后,单击 提交 按钮,输入消息并确认。


提交历史

“提交历史”部分列出了仓库当前分支中的所有提交。当您创建一个项目时,Node-RED 会自动提交项目的初始默认文件集。

列表顶部是“分支”按钮。这允许您在仓库中检出/创建分支。

如果您的仓库配置了远程仓库,还有一个按钮显示您的本地仓库与远程仓库相比超前和/或落后了多少次提交。它允许您选择要跟踪的远程/分支,并将您的更改推送/拉取到远程仓库。

这是 Node-RED 编辑器试图简化用户体验的领域之一,它不公开 Git 提供的所有各种选项。这是我们欢迎反馈的领域。例如,它不提供重定本地提交或强制推送更改到远程的选项。您仍然可以通过回退到命令行来完成这些事情。


创建新项目

在您通过迁移现有流程文件创建第一个项目后,您可以创建其他项目。

从菜单中选择 项目 -> 新建 将打开“项目”对话框。

这提供了三个选项

  • 打开现有项目
  • 创建新项目
  • 克隆项目仓库
打开现有项目

Node-RED 在任何时候只运行一个项目。通过打开另一个项目,您会更改正在运行的流程。

“打开项目”视图还允许您通过将鼠标悬停在列表中的项目上并单击删除按钮来删除项目。您无法删除活动项目。

创建新项目

这允许您创建新项目。它提供与“创建您的第一个项目”系列屏幕相同的选项,但合并到一个屏幕中。

克隆项目仓库

这允许您克隆现有远程仓库。您可以使用 http(s)git/ssh URL 作为仓库。如果仓库需要身份验证,您必须在此处提供。

注意: 对于 http URL,请勿在 URL 本身中包含您的用户名和/或密码。您应该在提示时单独提供这些信息。

对于 GitHub 的 ssh URL,需要将其从 git@github.com:username/project 更改为 ssh://git@github.com/username/project

Node-RED 目前不使用您 Git 客户端可能配置的任何凭据助手。这是我们希望从社区获得反馈的领域。

对于 git/ssh,Node-RED 将提供可用 ssh 公钥的列表。此列表是通过扫描 ~/.ssh 中以 .pub 结尾且具有相应私钥文件的文件生成的。它还允许您通过主设置对话框的“Git 配置”选项卡生成新的公钥/私钥对。这些文件存储在 ~/.node-red/projects/.sshkeys/ 下。如果启用了 adminAuth,则文件范围限定为当前登录用户,因此他们不需要共享远程凭据。