将临时ENV变量传递给Heroku

时间:2016-02-26 20:44:41

标签: ruby-on-rails heroku

有些时候,我希望我的Heroku控制台能够采用不同的方式,但仅限于该实例。虽然我能够通过命令行参数来控制它,但它可能会变得有点长/凌乱。

我正在尝试在启动控制台时将临时ENV变量传递给Heroku,但到目前为止还无法实现。我想运行SOME_VAR=some_value heroku run console --app myapp但是一旦Rails启动,我就没有ENV['SOME_VAR']

我知道我可以设置它,然后从Heroku网站上删除它,但重新启动我想避开的服务器。

TL;博士

有没有办法将临时ENV变量传递给在Heroku上运行的Rails应用程序,而无需在Heroku仪表板中设置它们?

2 个答案:

答案 0 :(得分:6)

您必须设置变量AFTER heroku run

heroku run MYVAR=hello rails console 

连接后,您可以验证MYVAR是否已设置:

puts ENV['MYVAR']
=> "hello"

答案 1 :(得分:0)

最近我一直无法以包含空格的字符串形式传递变量。有效的方法如下:

heroku run rails c -a my-app -e "ONE=my first var;TWO=another one"

-e标志的内容in the docs很少。