【问题标题】:setting Heroku env through app通过应用程序设置 Heroku env
【发布时间】:2014-02-19 16:20:07
【问题描述】:

我知道如何使用

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

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

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

【问题讨论】:

    标签: ruby-on-rails ruby heroku


    【解决方案1】:

    如果您在当前进程的生命周期内需要该环境变量,您可以这样做:

    ENV['hello'] = 'world'
    

    但这绝对是不可取的,因为它不能在多个 dyno 上工作,如果你使用基于分叉的网络服务器,比如 unicorn,它也不能工作。

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

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

    【讨论】:

    • 我需要它,这样如果我回到 Heroku 配置,我将真正看到更改设置。
    • 所以你需要调用 API。
    • 是的。我需要 Heroku api
    【解决方案2】:
    require 'heroku-api'
    heroku = Heroku::API.new(:api_key => 'your api key')
    heroku.put_config_vars('your app name', 'your env key' => 'the value')
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-04-28
      • 1970-01-01
      • 2012-11-02
      • 2016-08-30
      • 2017-04-20
      • 1970-01-01
      • 2017-09-24
      • 1970-01-01
      相关资源
      最近更新 更多