config组件提供了拉取配置的能力,config的基础是准备一个config server,下面讲一下config server的配置。
1,引入依赖
<!--config server-->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-config-server</artifactId>
</dependency>
2,创建启动类
在启动类上标注@EnableConfigServer
代码如下:
@SpringBootApplication
@EnableConfigServer
public class ConfigServerApplication {
public static void main(String[] args) {
new SpringApplicationBuilder(ConfigServerApplication.class)
.web(WebApplicationType.SERVLET)
.run(args);
}
}
3,进行配置
spring:
application:
name: config-server
cloud:
config:
server:
git:
uri: https://github.com/XXX/config-repo.git
#强制拉去资源文件
force-pull: true
#默认分支
default-label: main
username: XXXX
password: XXX
#仓库下的目录。可以配置多个目录路径,支持通配符*
# label: main
# search-paths:
server:
port: 60000
需要注意的第一点是,我这里默认拉取的分支是main。之前github上的主分支是master,后来换成了main,要看下自己的是master还是main。
第二点就是有人说pubic的仓库不用密码,我自己试了下,就算是public的也需要用户名和密码。
经过简单的配置,config server就可以提供拉取配置的能力。
注意,config-consumer-dev.yml是仓库中文件的名字,按照规范需要将它们拆成config-consumer/dev.yml才能拉取到。按照网上说的其他格式我试了下,是拉取不到的。
另外格式不限于yml,后缀改成json或properties等格式,可以返回其他对应格式的数据。