如何在不泄露敏感信息的情况下将 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 中的用户电话国家代码?