如何在同一个Procfile中管理开发和生产设置?

时间:2016-02-24 07:17:21

标签: ruby-on-rails ruby-on-rails-4 heroku procfile

我在Heroku上使用Procfile作为我的一些dynos,但我对本地开发和Heroku生产环境都有不同的命令。

但鉴于我有一个Procfile,如何在检查中添加条件以查看本地rails环境是生产还是开发?

这甚至可能吗?

1 个答案:

答案 0 :(得分:1)

你有几个选择。

  1. 使用其他Procfile进行开发。如果您说Procfile.development,那么您可以指定将其与heroku local -f Procfile.development一起使用。

  2. 或者,切换到使用配置变量进行重新设置。

  3. 例如,Procfile为:

    resque: env TERM_CHILD=1 RESQUE_TERM_TIMEOUT=7 QUEUE=\* bundle exec rake resque:work
    

    将其更改为:

    resque: env TERM_CHILD=$TERM_CHILD RESQUE_TERM_TIMEOUT=$TERM_TIMEOUT QUEUE=\* bundle exec rake resque:work
    

    然后设置TERM_CHILDTERM_TIMEOUT配置变量。

    您可以在本地将它们设置在.env或Heroku上:

     heroku config:set TERM_CHILD=1 TERM_TIMEOUT=7