Grails 构建包读取配置

Grails 构建包读取配置,grails,heroku,buildpack,Grails,Heroku,Buildpack,我正在尝试从heroku应用程序配置中读取Grails environment for war构建,这可能吗?在这种情况下,如何实现?它是在环境变量中设置的吗?否,这是不可能的。构建包独立于配置运行。(为了让自己相信这一点,运行heroku config:set并观察输出:没有slug编译器。)这与12-Factor应用程序的特性一致,它严格地将构建(slug编译器和buildpack)、发布(将构建附加到其配置)和运行(为给定的发布启动dynos) 通常的解决方案是让buildpack发出读取

我正在尝试从heroku应用程序配置中读取Grails environment for war构建,这可能吗?在这种情况下,如何实现?它是在环境变量中设置的吗?

否,这是不可能的。构建包独立于配置运行。(为了让自己相信这一点,运行heroku config:set并观察输出:没有slug编译器。)这与12-Factor应用程序的特性一致,它严格地将构建(slug编译器和buildpack)、发布(将构建附加到其配置)和运行(为给定的发布启动dynos)


通常的解决方案是让buildpack发出读取环境的文件,并在运行时进行适当的操作。例如,Rails从
config/database.yml
读取数据库配置,而Heroku在
ENV['database\u URL']
中指定了这一点。因此,buildpack生成一个文件,使Rails使用配置中指定的数据库,允许在不重新构建整个应用程序的情况下更改配置。

不,这是不可能的。构建包独立于配置运行。(为了让自己相信这一点,运行heroku config:set并观察输出:没有slug编译器。)这与12-Factor应用程序的特性一致,它严格地将构建(slug编译器和buildpack)、发布(将构建附加到其配置)和运行(为给定的发布启动dynos)

通常的解决方案是让buildpack发出读取环境的文件,并在运行时进行适当的操作。例如,Rails从
config/database.yml
读取数据库配置,而Heroku在
ENV['database\u URL']
中指定了这一点。因此,buildpack生成一个文件,使Rails使用配置中指定的数据库,从而允许在不重新构建整个应用程序的情况下更改配置