在 Heroku 上部署带有私人信息的应用程序
Deploying app with private info on Heroku
我在 Github 上有一个 Node 项目,我将其部署在 Heroku 上并使用 MongoDB 来满足数据库需求。
我有一个来自 Mongo 的 URL,我使用用户名和密码连接到它。当我在我的本地系统上 运行 时,一切都完美无缺,因为我可以硬编码我的用户名和密码(甚至使用 process.env.USER_NAME)。
我的问题是,如何在 Heroku 上传递这些值。它与我的 github 同步,我不想让我的用户名和密码 public.
您想使用环境变量。
这可以在每个 Heroku 应用程序中完成
1:转到您应用的设置:https://dashboard.heroku.com/apps/:yourApp/settings
2:点击Reveal Config Variables
你会看到一个区域来添加或编辑你的环境变量
3:在您的应用程序中,您可以通过访问您的进程来访问这些变量。
var dbURL = process.env.databaseUrl,
dbUsername = process.env.dbUsername,
dbPassword = process.env.dbPassword;
4:出于开发目的,您仍然需要将这些变量保存在环境变量中。安装 dotenv npm 模块。
npm install dotenv
// appRoot/.env
dbURL=localhost:27017
dbUsername=tacoman
dbPassword=ILoveTacos
// approot/server.js
require('dotenv').load();
我在 Github 上有一个 Node 项目,我将其部署在 Heroku 上并使用 MongoDB 来满足数据库需求。 我有一个来自 Mongo 的 URL,我使用用户名和密码连接到它。当我在我的本地系统上 运行 时,一切都完美无缺,因为我可以硬编码我的用户名和密码(甚至使用 process.env.USER_NAME)。
我的问题是,如何在 Heroku 上传递这些值。它与我的 github 同步,我不想让我的用户名和密码 public.
您想使用环境变量。
这可以在每个 Heroku 应用程序中完成
1:转到您应用的设置:https://dashboard.heroku.com/apps/:yourApp/settings
2:点击Reveal Config Variables
你会看到一个区域来添加或编辑你的环境变量
3:在您的应用程序中,您可以通过访问您的进程来访问这些变量。
var dbURL = process.env.databaseUrl,
dbUsername = process.env.dbUsername,
dbPassword = process.env.dbPassword;
4:出于开发目的,您仍然需要将这些变量保存在环境变量中。安装 dotenv npm 模块。
npm install dotenv
// appRoot/.env
dbURL=localhost:27017
dbUsername=tacoman
dbPassword=ILoveTacos
// approot/server.js
require('dotenv').load();