转载

SpringCloud 配置中心

一、创建Config配置中心项目

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 存放配置的仓库

创建一个git仓库用来存放各项目配置,可以在项目一级目录根据项目创建文件夹( 各项目文件夹的名称可以随便起,Config配置中心只根据配置文件名找配置 ),然后各个项目文件夹存放不同环境的配置文件,

例如:

Iot-TestProject-dev.yml

Iot-TestProject-prd.yml

Iot-TestProject-test.yml

最好不要放置test.yml类似的默认配置,如果在各个项目配置文件中没有用spring.profiles.active指明使用的配置文件,那么会加载默认的配置文件。

三、各个SpringCloud的项目配置接入配置中心

在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
原文  https://segmentfault.com/a/1190000018437089
正文到此结束
Loading...