【发布时间】:2020-11-20 11:42:11
【问题描述】:
我正在使用 Elixir (具体来说是 Phoenix),并且有一个我在文档中找不到的问题。
我来自 Java 世界,标准做法是创建一个 Jar,并拥有一个配置文件 (Yaml/TOML/JSON),该文件在 Web 应用程序启动时读取以加载配置。这样,“已编译”的 JAR 可以保持不变,而只有配置在部署环境之间发生变化。
例如。 cat /mnt/appconfig.yaml 可能会显示
local-dev:
key1: value1
key2: value2
development:
key1: value1
key2: value2
staging:
key1: value1
key2: value2
production:
key1: value1
key2: value2
如果我使用realm=production java -jar myapp.jar 运行我的应用程序,那么它会从production 块中获取值,这些值可以保存在静态类中并在应用程序的任何位置使用。 KV 是诸如用于访问不同领域中不同服务的 URL、一些随机标志等的东西。
我想知道 Elixir 的做法是什么?
【问题讨论】:
-
您应该了解发布。另请查看
Config。 -
嘿@AdamMillerchip,感谢您的回复。是的,我已经查看了您提到的链接。但是,看起来所有这些都是编译时解决方案,而不是运行时配置。那里有什么我遗漏的具体内容吗?
-
添加了答案。
标签: configuration elixir phoenix-framework