先简单说一下spring cloud的配置中心的一些概念
Spring-cloud Config Server 有多种种配置方式,
1、config 默认Git加载 通过spring.cloud.config.server.git.uri指定配置信息存储的git地址,比如:https://github.com/xxx/config-repo
2、加载本地开发环境 spring.profiles.active=native spring.cloud.config.server.native.searchLocations=classpath:/config 所以我现在的配置大致如下(yml)
spring:
application:
name: config-center
profiles:
active: native
cloud:
config:
server:
native:
searchLocations: classpath:/configs/{profile}
# searchLocations: file:/d:/configs/{profile}
git:
uri: https://xx.com/xxx/cloud-service-configs.git
default-label: master
force-pull: true
searchPaths: '{profile}'
因为配置了active: native,所以这里是使用本地配置的
我们这里有一个configs.dev的目录
而具体的微服务需要做如下配置来获取dev目录下的配置(以productprovider微服务为例)
spring:
application:
name: productprovider
cloud:
config:
discovery:
enabled: true
serviceId: config-center
profile: dev
要进行多环境配置,比如我们要建立一个local的配置
如果我们这样建立一个文件夹的话
其结果是真的建立了一个configs.local的单一文件夹,而不是在configs文件夹下面建立一个local文件夹。
在这里windows,mac下面的情况都一样,所以正确的做法是进入configs目录下,手工建立一个local的文件夹(windows请在资源管理器下操作)
将你需要的配置文件拷贝到该local目录下进行修改,再修改要启动的微服务的配置
spring:
application:
name: productprovider
cloud:
config:
discovery:
enabled: true
serviceId: config-center
# profile: dev
profile: local
就可以在多配置环境下使用配置中心了。