我正在尝试为生产设置一个 spring-cloud-config-server。我想读取多个 git repos,所以我在 src/main/resources 中的 config-server 的 application.yml 中提供以下配置
spring:
application:
name: config-server
profiles:
active: git
cloud:
config:
server:
git:
uri: https://somedomain.com/project1/project1.git
username: project1user
password: project1password
repos:
project2:
pattern: project2/*
uri: https://somedomain.com/project2/project2.git
username: project2user
password: project2password
searchPaths:
- 'src/main/resources'
现在,我想将配置服务器的这个配置外部化。
我可以通过环境变量提供主要的 git repo ( https://somedomain.com/project1/project1.git ) 属性,如下所示
spring.cloud.config.server.git.uri=https://somedomain.com/project1/project1.git
spring.cloud.config.server.git.username=project1user
spring.cloud.config.server.git.password=project1password
但是其他 git repo 属性呢?如果通过环境变量传递复杂的类似地图的结构将非常乏味。
传递其他存储库的这种配置的最佳方法是什么?将某些配置作为环境变量传递还有其他缺点,例如无法在运行时刷新这些属性。
是否有可能从主 git (https://somedomain.com/project1/project1.git)本身的某些配置文件中选择额外的 repo 配置?