我试图从heroku应用程序配置中读取用于战争构建的Grails环境,这可能吗,在这种情况下该怎么做?它是否设置在 ENV 变量中?
问问题
78 次
1 回答
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使用这个模板生成一个文件,它使 Rails 使用配置中指定的数据库,允许在不重新构建整个应用程序的情况下更改配置。
于 2012-10-19T19:30:16.023 回答