Heroku运行错误的ENV配置

时间:2013-11-16 17:31:31

标签: ruby-on-rails heroku

我试图在Heroku上为我的应用创建一个QA环境。部署时,控制台上的输出似乎表明production.rb仍在运行。

我在 /config/environments/qa.rb 创建了一个新的环境文件。这是production.rb文件的精确副本,除了我在顶部添加了一个日志语句。

qa.rb:

MyApp::Application.configure do
  puts "Loading QA Config"

production.rb:

MyApp::Application.configure do
  puts "Loading Production Config"

接下来,我运行了Heroku命令来更新BOTH env设置:

heroku config:set RACK_ENV=qa RAILS_ENV=qa --app qa-myapp

要仔细检查,我打印配置设置:

heroku config --app qa-myapp
=== qa-myapp Config Vars
...
RACK_ENV:                     qa
RAILS_ENV:                    qa
...

要进行三重检查,我会运行控制台! (注意QA行和Rails.env):

heroku run console --app qa-myapp
Running `console` attached to terminal... up, run.8199
Loading QA Config
Loading qa environment (Rails 4.0.0)
irb(main):001:0> Rails.env
=> "qa"

这一切似乎都做得很好。当我推送到Heroku时,它没有加载正确的配置(我从右边添加箭头指向日志语句):

git push qa master
...
-----> Ruby app detected
-----> Compiling Ruby/Rails
-----> Using Ruby version: ruby-1.9.3
...
-----> Writing config/database.yml to read from DATABASE_URL
-----> Preparing app for Rails asset pipeline
       Running: rake assets:precompile
       Asset precompilation completed (8.34s)
       Cleaning assets
       Loading Production Config <-----------------------------------------
-----> Discovering process types
       Procfile declares types -> (none)
       Default types for Ruby  -> console, rake, web, worker

-----> Compiled slug size: 30.6MB
-----> Launching... done, v27
       http://qa-myapp.herokuapp.com deployed to Heroku

我在这里缺少什么?我认为没有别的办法可以让这个工作。我需要在这里做些不同的事吗?

1 个答案:

答案 0 :(得分:1)

查看Heroku Buildpack自述文件的“流程”部分。它为部署任何Rails 2 / Rails 3应用程序设置RAILS_ENV=production

他们的文档显示了如何破解自己的buildpack来改变它的示例,但是如果一切都按照它在控制台和测试中的方式工作,那可能没有必要(但仍然是一个选项)。