【发布时间】:2020-04-22 08:54:49
【问题描述】:
我正在尝试为生产设置一个 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 配置?
【问题讨论】:
标签: spring spring-boot spring-cloud spring-cloud-config spring-cloud-config-server