2012-10-19 73 views
1

即時通訊嘗試閱讀從Heroku應用程序配置戰鬥生成的Grails環境,這是可能的,在這種情況下如何做到這一點?它是否設置在ENV變量中?Buildpack讀取配置

回答

1

不,這是不可能的。 Buildpacks獨立於配置運行。 (爲了說服你自己,運行heroku config:set並觀察輸出:沒有slug編譯器。)這與12-Factor應用程序的Build, Release, Run方面一致,該方面嚴格地將構建(slug編譯器和構建包)分開,釋放(將構建附加到它的配置),並運行(爲特定版本旋轉dynos)。

通常的解決方案是讓您的buildpack發出讀取環境並在運行時適當運行的文件。例如,Rails從config/database.yml讀取數據庫配置,而Heroku在ENV['DATABASE_URL']中指定了這一點。因此,buildpack生成一個文件using this template,這個文件導致Rails使用配置中指定的數據庫,允許配置改變而不需要重新構建整個應用程序。