如何存储开源Heroku Node.js应用程序的数据库凭证?

我正在构build一个Node.js应用程序,需要存储数据库凭据(以及其他运行时属性),以便在部署到Heroku上时可以读取它们。 我的源代码在公共GitHub仓库中可用。

我目前正在使用环境variables,configuration使用heroku config:add ,但我希望了解是否有任何替代品。 我可能想使用Cloud9 IDE ,但目前不支持环境variables。

另一种select是将参数存储在configuration中。 文件,但我相信该文件需要检入到Git(并且因此是公开的)才能被推送到Heroku。

谢谢你的帮助。

ENVvariables通常被认为是要走的路,Heroku自己做database_urls之类的。

由于您和您的应用程序是唯一可以访问env vars的人,所以您通常可以确保安全。

把凭据放在Git或类似的是一个坏主意,因为它是另一个需要保护的地方。

我知道用命令行参数解决开发问题的一种方法。 这些可以在运行/debuggingconfiguration中指定。 然后可以访问process.argv中的参数。 当然这意味着它们将存储在Cloud9IDE开发环境中。 然后,您可以在零售生产中使用ENVvariables。 这至less会防止凭据在源文件或configuration文件中可见。