【发布时间】:2016-06-30 04:46:05
【问题描述】:
我已经多次遇到这个问题。当我将我的登台应用程序升级为生产时,它的配置变量没有正确加载。现在我的生产应用程序正在使用我的暂存配置变量。我该如何解决这个问题?
【问题讨论】:
我已经多次遇到这个问题。当我将我的登台应用程序升级为生产时,它的配置变量没有正确加载。现在我的生产应用程序正在使用我的暂存配置变量。我该如何解决这个问题?
【问题讨论】:
来自the docs:
管道仅管理应用程序段。 Git 存储库、配置变量、 附加组件和其他环境依赖项不被视为一部分 管道,必须独立管理。
因此,如果您的“构建工件”(即您的 slug)包含来自您的暂存应用程序的配置变量,它将被提升为 prod。所有管道真正做的是允许您通过简单地使用与先前环境完全相同的 slug 来跳过 slug 编译。如果您无法在暂存环境中从代码库的 slug 编译中删除配置变量,我会避免使用管道。
注意:截至提交此答案时,这是正确的,谁知道 Heroku 将来是否能够更改此设置。
【讨论】:
heroku restart -a yourProdApp,那么不是。重新启动只是重新启动测功机并且不会构建新的 slug。要将配置变量放入 slug,您必须触发构建,例如git push heroku master。存在此问题的一个原因是配置变量旨在在运行时使用,而不是在构建时使用。