通过app设置Heroku env

时间:2014-02-19 16:20:08

标签: ruby-on-rails ruby heroku

我知道如何使用

设置Heroku环境
Heroku config:set hello=world

但是如果在我的Heroku rails app(我是管理员)里面,我想设置这些变量而不需要进入Heroku命令行,而是通过代码。我怎样才能做到这一点? 我可能需要这样的代码:

def set_world
  Heroku::Config[:hello] = 'world'
end

2 个答案:

答案 0 :(得分:0)

如果您在当前流程的生命周期中需要该环境变量,则可以执行以下操作:

ENV['hello'] = 'world'

这绝对不可取,因为它不适用于多个dynos,如果您使用基于分叉的网络服务器(如独角兽)也不会起作用。

您可以使用platform API在应用程序上添加/更新配置参数。

因此,在URL /apps/{app_id_or_name}/config-vars上向heroku API发出PATH请求,并且您要做出的更改将更新环境变量。
更新配置变量会重新启动应用程序。所以你可能要小心,避免做太多。

答案 1 :(得分:0)

require 'heroku-api'
heroku = Heroku::API.new(:api_key => 'your api key')
heroku.put_config_vars('your app name', 'your env key' => 'the value')