我有一个带有application.yaml
配置的spring boot应用程序。例如,它看起来像这样:
my-server
host: localhost
port: 8080
time-out-in-seconds: 60
user:
name: Eddy
login: Eagle
我在五家不同的公司中启动了此应用程序。每个公司都有各自的功能:主机,端口等。对于每个公司,我创建了一个新的yaml
配置,并覆盖了一些属性。例如,此配置用于 A 公司:
-a.yaml
my-server
time-out-in-seconds: 120
user:
name: AUser
login: SomeLogin
此配置靠近jar
文件
Server
-server.jar
-a.yaml
在开发过程中,我需要向config( application.yaml )中添加一个新属性:
my-server
host: localhost
port: 8080
region: foo
区域:foo -是一个新属性。并且必须在每个company.yaml
中覆盖此属性。我需要将此属性添加到a.yaml(region: foo)
,b.yaml(region: bar)
和其他属性中。
所有这些使更新变得复杂。在每次部署中,我需要记住配置中是否有任何新字段。如果有的话-我需要将此属性添加到每个company.yaml
中。我可以随意错过一些财产。
有某种机制可以做到吗?以某种方式自动化?合并,版本等?
答案 0 :(得分:-1)
几个问题:
如果可以选择这两个选项中的任何一个,则可能要查看spring cloud config或configrd.io。这两个选项都提供对属性的覆盖。
您可以将每个客户的服务器指向不同的配置文件。您可以拥有所有客户使用的基本配置。将配置保留在服务器之外可以简化部署,并允许您进行更改而无需重新部署服务。