6

我有一个推送到 Heroku 的 node.js 应用程序。它使用 MongoDB 进行存储。Heroku 提供了一个免费的 MongoDB 作为您的应用程序可以连接的插件。现在我的问题是,由于连接字符串是这种格式:mongodb://dbuser:dbpass@host:port/dbname,并且由于 Heroku 使用 git 推送,我如何将我的代码推送到公共 GitHub 存储库而不透露我的每个人的用户名和密码?

有没有办法打开数据库,但只能打开来自我的 Heroku 应用程序的连接?

我不得不承认我对整个事情很困惑。

4

2 回答 2

8

您将需要阅读Heroku 开发中心中的配置和配置变量。Heroku 期望并鼓励您使用配置变量(在 Heroku 应用程序本身而不是在代码库中配置)来保护密码等敏感数据。使用heroku config:set VARIABLE=value,但请注意,大多数 Heroku 插件在配置时会自动将身份验证信息添加到您的配置变量中。您可以查看使用该heroku config命令设置的内容。

使用节点,您可以使用 访问您的环境变量process.ENV.VARIABLE,其中VARIABLE是您尝试访问的环境/配置变量的名称。

最后一点,您可以将本地环境变量添加到.env您的项目目录中(将文件添加到 .gitignore!)... 当您使用foreman startforeman run.

于 2013-09-03T17:02:00.580 回答
1

如果你运行:

    heroku config

工具带将显示环境变量,这样您就可以在代码中使用环境变量:

    process.env.VARIABLE
于 2013-09-03T18:32:28.820 回答