如何从yml文件加载env变量到Heroku?

时间:2017-10-17 14:04:46

标签: ruby-on-rails heroku environment-variables

我在yml文件中定义了很多环境变量。我在本地使用此文件进行配置。如何在不将我的文件添加到repo的情况下在Heroku服务器上设置这些变量?我的应用程序是基于Ruby on Rails构建的。

2 个答案:

答案 0 :(得分:1)

如果你想重新发明轮子……这是一种轮子:

heroku config:set $(cat config/application.yml | grep "^[^\#\ ].*\:\ .*$" | sed 's/\:\ /=/g' | tr "\n" " ")

它解析 Figaro YAML 文件的顶级键。

更新:

您实际上可以使用 Figaroheroku:set 来达到相同的结果:

$ figaro help heroku:set
Usage:
  figaro heroku:set

Options:
  -a, [--app=APP]                  # Specify a Heroku app
  -e, [--environment=ENVIRONMENT]  # Specify an application environment
  -p, [--path=PATH]                # Specify a configuration file path
                                   # Default: config/application.yml
  -r, [--remote=REMOTE]            # Specify a Heroku git remote

Send Figaro configuration to Heroku

答案 1 :(得分:-1)

不要重新发明轮子。查看Figaro gem。来自github页面:

  

使用ENV和单个YAML文件的简单,Heroku友好的Rails app配置。