【问题标题】:How do I set an environment variable for GitHub repositorys?如何为 GitHub 存储库设置环境变量?
【发布时间】:2020-04-23 15:34:24
【问题描述】:

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

【问题讨论】:

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


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        【解决方案3】:

        如何在 github repo 中设置环境变量

        环境变量只与实际运行机器人(或网站)的机器相关。

        如今,大多数托管公司都为您提供了一种编辑环境变量的方法。如果您使用 github 作为虚拟主机,请查看this github article

        假设您有一个字符串需要在变量token 中。对于您的本地开发,您创建一个简单地设置该变量的文件。确保将其从git 中排除在您的.gitignore 中!

        在您的代码中,您只使用该文件 IF 未设置环境变量。例如:

        // 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
        

        【讨论】:

          猜你喜欢
          • 2020-10-29
          • 2021-01-07
          • 1970-01-01
          • 2011-08-16
          • 2020-02-14
          • 2017-06-17
          • 2011-02-13
          • 2018-09-25
          • 2011-12-30
          相关资源
          最近更新 更多