如何在不泄露敏感信息的情况下将 Node-Red 推送到 GitHub?

Posted

技术标签:

【中文标题】如何在不泄露敏感信息的情况下将 Node-Red 推送到 GitHub?【英文标题】:How to push Node-Red to GitHub without revealing sensitive information? 【发布时间】:2021-10-12 19:47:02 【问题描述】:

我想在 Github 中分享我的 NodeRed 代码,作为 IOT 项目的一部分,但是我想将我的一些数据保密(wifi 密码、数据库密码等)。

我可以手动删除这些信息,但这不太实用,因为我每次更新文件时都必须这样做。

在我的 python 脚本中,我使用 os.environ.get 来保存我的密码并安全地上传到 GitHub。

¿有什么方法可以设置 Node-Red 以便在不泄露敏感信息的情况下轻松推送到 GitHub?

【问题讨论】:

制作一个.gitignore文件并添加.env等非跟踪文件? 但是如何设置 Node Red 从 .env 文件中提取凭据? run with --env-file option 【参考方案1】:

可以使用$ 语法从环境变量中提取节点属性。这是由运行时实现的,因此应该适用于所有节点。如果节点使用类型化输入小部件,那么它们也应该直接支持环境变量。

详细信息在此处的文档中:https://nodered.org/docs/user-guide/environment-variables

其次,任何显式标记为凭据的节点选项都存储在单独的加密文件_creds.json 中。默认情况下,它在首次运行时以随机生成的密钥加密并存储在 userDir 的隐藏文件中,但您可以在 settings.js 文件中设置自己的密钥。

如果您使用 Projects 功能将流程存储在 git 存储库中,则系统会提示您输入所需的加密密钥,作为设置项目的一部分或在您签出时。项目文档在这里: https://nodered.org/docs/user-guide/projects/

【讨论】:

以上是关于如何在不泄露敏感信息的情况下将 Node-Red 推送到 GitHub?的主要内容,如果未能解决你的问题,请参考以下文章

如何从 Node-RED/ Octoblu 获取数据到 Power BI

如何在不丢失信息的情况下将因子转换为整数\数字?

如何在不显示附加信息的情况下将附加信息放入用于 ListView 的 Arraylist

如何在不使用位置信息的情况下将 MCC + MNC 映射到 iOS Objective-C 中的用户电话国家代码?

在不删除原始 UserDefault 信息的情况下将数组附加到 UserDefaults

如何在不复制列标签的情况下将多个数据框写入同一张表