【发布时间】:2018-07-18 16:16:53
【问题描述】:
我正在制作一个不和谐的机器人并尝试将它托管在 Heroku 上。我正在从 github 部署,它部署得很好。我只有一个问题:discord bot 使用必须保密的身份验证令牌登录,因此不在 repo 上,但 bot 登录是必需的。有谁知道一种方法让文件不在repo,但在 heroku 应用程序上?
编辑:我一开始忘了提到这一点,但我正在使用 node.js 和 discord.io,我认为这可能会有所帮助。
【问题讨论】:
我正在制作一个不和谐的机器人并尝试将它托管在 Heroku 上。我正在从 github 部署,它部署得很好。我只有一个问题:discord bot 使用必须保密的身份验证令牌登录,因此不在 repo 上,但 bot 登录是必需的。有谁知道一种方法让文件不在repo,但在 heroku 应用程序上?
编辑:我一开始忘了提到这一点,但我正在使用 node.js 和 discord.io,我认为这可能会有所帮助。
【问题讨论】:
您应该在 Heroku 上使用环境变量。如果您有密码,您可以将其保存在这样的文件中(假设您的编程语言是 Python):
import os
...
PASSWORD = os.environ['PASSWORD']
然后,您可以在 Heroku CLI 中运行以下命令:
heroku config:set PASSWORD=mypassword1234
这样您就不必将凭据存储在文件中。
【讨论】:
os.getenv() 而不是 os.environ,因为您可以提供后备值。使用os.environ,如果PASSWORD 变量不存在,您将获得KeyError。
process.env.ENVIRONMENT_VARIABLE_NAME