Buildpack读取配置

时间:2012-10-19 19:10:54

标签: grails heroku buildpack

我试图从heroku应用程序配置中读取用于战争构建的Grails环境,这是可能的,在这种情况下如何做到这一点?它是在ENV变量中设置的吗?

1 个答案:

答案 0 :(得分:1)

不,这是不可能的。 Buildpacks独立于配置运行。 (为了说服自己,运行heroku config:set并观察输出:没有slug编译器。)这与12-Factor App的Build, Release, Run方面一致,它严格区分构建(slug编译器和buildpack) ),释放(将构建附加到其配置),并运行(为给定版本旋转dynos)。

通常的解决方案是让您的buildpack发出读取环境的文件,并在运行时正确地执行操作。例如,Rails从config/database.yml读取数据库配置,而Heroku在ENV['DATABASE_URL']中指定此配置。因此,buildpack生成一个文件using this template,导致Rails使用配置中指定的数据库,允许更改配置而无需重新构建整个应用程序。