如何检测我的应用程序是否正在Heroku上运行?

5
有没有办法检测Rails应用程序是否在Heroku上运行?
我想创建一个类似于以下方法:
def on_heroku?
...
end
2个回答

7

您可以设置自己的配置变量,通过ENV['var']进行检测。

$ heroku config:add I_AM_HEROKU=yes

(注:此处为代码示例,不做翻译)
def on_heroku?
  ENV['I_AM_HEROKU']
end

5
def heroku?
  ENV.any? {|x,_| x=~ /^HEROKU/ }
end

1
这种方法相较于被接受的答案有一个优势,即它可以成功地检测到Heroku部署(前提是你使用了类似于Heroku postgres的东西,它会向你的env哈希表中添加HEROKU_POSTGRESQL_COLOR_URL键),而无需记住设置环境变量。 - Pathogen

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接