1

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

4

1 回答 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 回答