1.添加依赖
<dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-config-server</artifactId> </dependency>
2.启动类,需要添加@EnableConfigServer
import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.cloud.config.server.EnableConfigServer; /** * @author fusw */ @SpringBootApplication @EnableConfigServer public class ConfigCenterApplication { public static void main(String[] args) { SpringApplication.run(ConfigCenterApplication.class, args); } }
3.配置文件
eureka.instance.appname=base-iov-config security.user.name=test security.user.password=test # GitLab 的配置方式,必须有 .git 后缀 # 配置默认 git 仓库的地址 spring.cloud.config.server.git.uri=http://xxxx/config-repo.git # git 仓库地址下的相对地址,可以配置多个,用“,”分割 spring.cloud.config.server.git.search-paths=* #配置中心clone仓库配置文件后存放的地址 spring.cloud.config.server.git.basedir=/data/deploy/config-repo spring.cloud.config.server.git.force-pull=true # git 仓库的账号 spring.cloud.config.server.git.username=test # git 仓库的密码 spring.cloud.config.server.git.password=test # 配置 其它git 仓库的地址 spring.cloud.config.server.git.repos.x.uri, iot为例 spring.cloud.config.server.git.repos.iot.uri=http://xxxx/iot/config-repo.git spring.cloud.config.server.git.repos.iot.search-paths=* spring.cloud.config.server.git.repos.iot.basedir=/data/deploy/config-repo spring.cloud.config.server.git.repos.iot.force-pull=true # git 仓库的账号 spring.cloud.config.server.git.repos.iot.username=test # git 仓库的密码 spring.cloud.config.server.git.repos.iot.password=test #前缀一定要配置,用来和默认仓库区分 spring.cloud.config.server.git.repos.iot.pattern=Iot* #注册中心 eureka.client.serviceUrl.defaultZone=http://xxx/eureka/
创建一个git仓库用来存放各项目配置,可以在项目一级目录根据项目创建文件夹( 各项目文件夹的名称可以随便起,Config配置中心只根据配置文件名找配置 ),然后各个项目文件夹存放不同环境的配置文件,
例如:
Iot-TestProject-dev.yml
Iot-TestProject-prd.yml
Iot-TestProject-test.yml
最好不要放置test.yml类似的默认配置,如果在各个项目配置文件中没有用spring.profiles.active指明使用的配置文件,那么会加载默认的配置文件。
在resource下的bootstrap.properties配置文件中,配置中心的相关配置如下
# 使用默认仓库的配置文件 spring.cloud.config.name=TestProject # 使用iot厂库的配置文件 #spring.cloud.config.name=Iot-TestProject #使用哪个环境的配置文件,和上面的配置配合,决定了使用哪一个配置文件:TestProject -test.yml spring.cloud.config.profile=test # 对应 存放配置文件仓库的git分支 spring.cloud.config.label=master spring.cloud.config.username=test spring.cloud.config.password=test # 开启 Config 服务发现支持 spring.cloud.config.discovery.enabled=true # 指定 Server 端的 name,也就是 Server 端 spring.application.name 的值 spring.cloud.config.discovery.serviceId=base-iov-config