我的目标是向 Elixir/Phoenix 应用程序添加一个新的应用程序环境变量,该应用程序与 distillery 一起发布并与 edeliver 一起部署。
因为我在prod.secret.exs
文件中添加了一个新值,所以我希望在nil
调用Application.get_env(:my_app, :key)
生产主机时不会出现新的环境变量。
相反,我得到nil
. 我应用的修复是停止应用程序,删除所有内容并部署全新的版本。我想这不是正确的解决方法。
那么,如何正确添加新的配置变量呢?
到目前为止我所注意到的。我将我需要的配置放入prod.secret.exs
文件中,并且在构建过程中蒸馏厂成功使用了它。在生成的版本中,该 sys.config
文件包含新的配置变量。但var/sys.config
已部署应用程序的文件不包含新配置。如果我手动将新配置放入var/sys.config
并重新启动发行版,则会在var/sys.config
没有新配置变量的情况下重新生成。