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

时间:2011-10-11 13:13:29

标签: node.js heroku github environment-variables cloud9-ide

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

我目前正在使用使用heroku config:add配置的环境变量,但我希望了解是否有其他选择。我可能想使用Cloud9 IDE,但它目前不支持环境变量。

另一种选择是将参数存储在配置中。文件,但我相信该文件需要签入Git(因此,公开可用)才能被推送到Heroku。

感谢您的帮助。

2 个答案:

答案 0 :(得分:4)

ENV vars通常被认为是可行的方式,以及Heroku为database_urls等自行完成的方式。

由于您和您的应用是唯一可以访问env vars的人,因此您通常可以做得很安全。

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

答案 1 :(得分:0)

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