如何使用文件内容设置Heroku config var

时间:2013-09-15 18:05:05

标签: heroku heroku-toolbelt

要为Heroku应用设置配置变量,请执行以下操作:

$ heroku config:set GITHUB_USERNAME=joesmith

如何使用文件内容设置config var?

3 个答案:

答案 0 :(得分:26)

查看heroku-config插件,该插件会添加heroku config:push命令,将名为.env的文件中的键值对推送到应用。

它还有一个heroku config:pull命令可以执行相反的操作,并且与foreman配合使用,可以使用.env中的配置在本地运行应用程序。

https://github.com/xavdid/heroku-config

答案 1 :(得分:0)

我知道这为时已晚,但仍然对将来登陆这里的用户有所帮助。

我还想要一个快速的解决方案,将变量添加到heroku应用程序中,但是复制粘贴是如此无聊。.因此编写了一个脚本来读取.env文件中的值,并将其设置在请求的应用程序中-所有事情都已通过作为选择:

https://gist.github.com/md-farhan-memon/e90e30cc0d67d0a0cd7779d6adfe62d1

用法

./bulk_add_heroku_config_variables.sh -f='/path/to/your/.environment/file' -s='bsc-server-name' -k='YOUR_CONFIG_KEY1 YOUR_CONFIG_KEY2'

答案 2 :(得分:0)

使用honcho并调用的简单纯Python解决方案:

from honcho.environ import parse
from invoke import run

def push_env(file='.env'):
    """Push .env key/value pairs to heroku"""
    with open(file, 'r') as f:
        env = parse(f.read())
    cmd = 'heroku config:set ' + ' '.join(
        f'{key}={value}' for key, value in env.items())
    run(cmd)

这里的想法是,您将获得与使用honcho在本地运行项目相同的配置。然后,我使用invoke来从命令行轻松地运行此任务(使用@taskc.run),但在这里我将其改编为独立的。