如何为GitHub存储库设置环境变量?

时间:2020-01-06 03:02:03

标签: github oauth-2.0 environment-variables repository discord.js

因此,我正在GitHub存储库中创建一个网站,我正尝试在该网站上通过OAuth2实现Discord登录。为了使所有这些正常工作,我需要为客户端id和secret设置一个环境变量。如何在GitHub存储库中设置环境变量?

3 个答案:

答案 0 :(得分:0)

如果您不想在Github存储库中公开秘密,则可以使用dotenv在本地进行管理。您将秘密存储在项目根目录下的.env文件中。确保记住在您的.gitignore文件中包含.env,这样它就不会发送到版本控制中。

答案 1 :(得分:0)

在GitHub存储库中为每个环境存储不同的客户端ID和密码是非常好的(假设存储库是私有的)。但是,理想情况下,您应将每个环境的客户端ID和机密存储在数据库表中。然后在您的应用程序本身中,您只需引用该表(使用每个环境的连接字符串)来检索与该特定环境有关的ID /机密。

答案 2 :(得分:0)

如何在github存储库中设置环境变量

环境变量仅与实际运行漫游器(或网站)的计算机相关。

当今大多数托管公司为您提供一种编辑环境变量的方法。如果您将github用作虚拟主机,则可能会看到this github article

假设您有一个字符串,该字符串必须位于变量token中。对于本地开发,您可以创建一个仅设置该变量的文件。确保将其包含在git中,以将其从.gitignore中排除!

在代码中,您仅使用该文件 IF ,未设置env var。例如:

// load auth & other tokens
var token = null;
if (process.env.hasOwnProperty('TOKEN')) {
  token = process.env.TOKEN;
}
else {
  var auth = require('./discordauth.json');
  token = auth.token;
}

从那里您只需要学习如何在特定主机中设置环境变量。创建一个名为TOKEN的环境变量(与代码示例中的process.env.TOKEN匹配)。示例:

文件discordauth.json的内容:

{
"token": "XXXXXXXXXXXXX",
}

环境变量TOKEN的值

XXXXXXXXXXXXX