的disclude development.conf使用Scala的playframework 2.5,如何从泊坞窗影像创作发挥的框架应用神器
我使用SBT插件PlayScala
构建应用程序,装入瓶内,
,然后建立并推动一个泊坞窗图像使用sbt插件DockerPlugin
驻留在源代码存储库conf/development.conf
(与application.conf
相同)。 application.conf
的最后一行说include development
这意味着如果存在development.conf
,则其中的条目将覆盖application.conf
中的某些条目,这样可以提供使应用程序立即可在本地运行的所有缺省值源代码从源代码控制克隆,零额外配置。这种技术可以让每一位新开发人员在正常工作的应用程序中正常工作,而不会浪费配置时间
完成架构设计的唯一缺失部分是找到一种方法,从应用程序的最终运行时排除development.conf
- 否则这将覆盖泄漏到生产运行时,并且显然应用程序无法运行。
这可以通过各种不同的方式实现。
一种方法可能是如何将逻辑注入构建任务(作为sbt的一部分,我假设为PlayScala的一部分)以从jar工件中排除文件。 其他方式可能是将逻辑注入Docker镜像创建过程。这个逻辑可以手动执行它之前删除现有的罐子development.conf
(假设这是可能的)
如果你实现提供的一个想法, 或者一些不同的架构方式,给出了同样的“开箱的“功能,请还跟分享:)
以下是Play文档中讨论如何将备用配置文件作为主文件的部分:https://www.playframework.com/documentation/2.6.x/ProductionConfiguration#Using--Dconfig.resource –