如何在不泄露敏感信息的情况下将 Node-Red 推至 GitHub?
How to push Node-Red to GitHub without revealing sensitive information?
我想在 Github 中分享我的 NodeRed 代码作为 IOT 项目的一部分,但是我想将我的一些数据保密(wifi 密码、数据库密码等)。
我可以手动删除这些信息,但这不太实用,因为我每次更新文件时都必须这样做。
在我的 python 脚本中,我使用 os.environ.get 保存我的密码并安全地上传到 GitHub。
¿是否有某种方法可以设置 Node-Red 以轻松推送到 GitHub 而不会泄露敏感信息?
可以使用 ${}
语法从环境变量中提取节点属性。这是由 运行time 实现的,因此应该适用于所有节点。如果节点使用类型化输入小部件,那么它们还应该直接支持环境变量。
详细信息在此处的文档中:https://nodered.org/docs/user-guide/environment-variables
其次,任何明确标记为凭据的节点选项都存储在单独的加密文件中 _creds.json
。默认情况下,这是在 运行 上用随机生成的密钥加密并存储在 userDir 中的隐藏文件中,但您可以在 settings.js
文件中设置自己的密钥。
如果您使用 Projects 功能将流程存储在 git 存储库中,那么在设置项目时,系统会提示您输入所需的加密密钥或者当你检查它时。项目文档在这里:
https://nodered.org/docs/user-guide/projects/
我想在 Github 中分享我的 NodeRed 代码作为 IOT 项目的一部分,但是我想将我的一些数据保密(wifi 密码、数据库密码等)。
我可以手动删除这些信息,但这不太实用,因为我每次更新文件时都必须这样做。
在我的 python 脚本中,我使用 os.environ.get 保存我的密码并安全地上传到 GitHub。
¿是否有某种方法可以设置 Node-Red 以轻松推送到 GitHub 而不会泄露敏感信息?
可以使用 ${}
语法从环境变量中提取节点属性。这是由 运行time 实现的,因此应该适用于所有节点。如果节点使用类型化输入小部件,那么它们还应该直接支持环境变量。
详细信息在此处的文档中:https://nodered.org/docs/user-guide/environment-variables
其次,任何明确标记为凭据的节点选项都存储在单独的加密文件中 _creds.json
。默认情况下,这是在 运行 上用随机生成的密钥加密并存储在 userDir 中的隐藏文件中,但您可以在 settings.js
文件中设置自己的密钥。
如果您使用 Projects 功能将流程存储在 git 存储库中,那么在设置项目时,系统会提示您输入所需的加密密钥或者当你检查它时。项目文档在这里: https://nodered.org/docs/user-guide/projects/