spring cloud config 用svn做配置文件仓库
来源:互联网 发布:淘宝发布宝贝视频 编辑:程序博客网 时间:2024/04/30 11:44
spring cloud config 用svn做配置文件仓库
spring cloud的配置文件中心分为服务端和客户端,下面是一个基于svn实现配置中心的例子:
一:服务端主要配置
1,创建一个spring boot项目,修改pom.xml,添加jar包依赖,代码如下:
<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><groupId>com.qwrt.fire.config.server</groupId><artifactId>fire-config-server</artifactId><version>0.0.1-SNAPSHOT</version><packaging>jar</packaging><name>fire-config-server</name><description>Demo project for Spring Boot</description><parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>1.5.6.RELEASE</version><relativePath/> <!-- lookup parent from repository --></parent><properties><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding><java.version>1.8</java.version></properties><dependencies><!--引入web包--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><!--引入配置中心的包--><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-config-server</artifactId><version>1.3.2.RELEASE</version></dependency><!--使用svn做配置文件的版本管理,需要多引入svnkitr包--><dependency><groupId>org.tmatesoft.svnkit</groupId><artifactId>svnkit</artifactId><version>1.9.0</version></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope></dependency></dependencies><build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId></plugin></plugins></build></project>
2,启动类添加注解
给启动类添加注解,代码如下:
package com.qwrt.fire.config.server;import org.springframework.boot.SpringApplication;import org.springframework.boot.autoconfigure.SpringBootApplication;import org.springframework.cloud.config.server.EnableConfigServer;@SpringBootApplication@EnableConfigServerpublic class FireConfigServerApplication {public static void main(String[] args) {SpringApplication.run(FireConfigServerApplication.class, args);}}
3,配置文件
修改application.yml,进行配置svn,代码如下:
server: port: 9091 #应用程序端口spring: application: name: fire-config-server #应用程序名 cloud: config: server: svn: uri: xxxxx #svn地址 username: xxxxx #svn用户名 password: xxxxx #svn密码 default-label: config-repo #trunk,配置文件的目录 profiles: active: subversion #表示这是采用的svn进行的spring cloud的配置
上面的uri是svn的一个路径,在svn的目录下创建一个文件夹,存放配置文件。
4,测试
启动spring boot的配置中心,输入http://localhost:9091/application/profile/label,进行访问
二:客户端
1,修改客户端的pom.xml
添加下面两个依赖:
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-actuator</artifactId> </dependency>
<!--spring cloud配置中心--> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-config</artifactId> </dependency>
2,配置文件
需要配置两个配置文件,application.yml和bootstrap.yml。其中application.yml是客户端的个性化配置文件,bootstrap.yml是连接配置中心的配置,bootstrap.yml文件会在application.yml之前进行加载。
bootstrap.yml代码如下:
spring: cloud: config: name: fire-sensor #对应{application}部分 profile: dev #对应{profile}部分 uri: http://localhost:9091/ #配置中心的具体地址 label: config-repo #对应版本的分支。如果配置中心使用的是本地存储,则该参数无用
3,测试
可以写一个controller进行测试,此处略。。。。
总结:上面是spring cloud基于svn的配置中心实现的一个简单的步骤,不太重要的地方就省略了,如果觉得太简单抽象了,下面推荐一些参考的博客,有详细的实现说明,可以进行参考,还有对配置文件更新不需要重启项目加载配置文件的方法:
http://www.cnblogs.com/ityouknow/p/6906917.html
http://www.jianshu.com/p/167afb5447d4
http://blog.csdn.net/chenhuaping007/article/details/55253903
http://www.ityouknow.com/springcloud/2017/05/22/springcloud-config-git.html
当然也可以使用git作为配置文件仓库的管理,和svn实现的步骤差不多,具体的也可以参考上面的博客,网上还有很多资料,这里就不费力气再写一篇关于git作为spring cloud配置中心的使用步骤了。
我在参考上面的博客的时候遇到一些问题:
1,默认是到svn的trunk或者branch目录下查找配置文件的,但是我的配置文件不是放在这两个目录下,所以需要配置的svn的uri路径需要指定到存放spring cloud配置文件的上级目录
2,在配置svn的“default-label: xxx”属性的时候,网上的资料时说配置trunk或者branch,其实是配置的存放spring cloud配置文件的目录名。
3,没有深刻理解理解spring cloud访问配置文件的http请求的路径含义,正确的是这样的http://localhost:9091/fire-sensor/dev/config-repo,解释:http://ip:端口/application/profile/label
application就是配置文件的名称,profile标志是开发版,测试版,还是生产版,label表示的是存放配置文件的文件夹名。比如:
仓库中的配置文件会被转换成web接口,访问可以参照以下的规则:
/{application}/{profile}[/{label}]
/{application}-{profile}.yml
/{label}/{application}-{profile}.yml
/{application}-{profile}.properties
/{label}/{application}-{profile}.properties
- spring cloud config 用svn做配置文件仓库
- spring cloud config 用svn做配置文件仓库
- spring cloud config 用svn做配置文件仓库
- 干货实操:微服务Spring Cloud 系列(一) Spring cloud Config 用SVN做配置仓库
- Spring-cloud-config用svn做配置中心
- spring cloud config svn配置多个配置文件
- Spring cloud config 配置文件加密
- spring cloud config 之svn仓库配置与动态刷新(服务端)
- Spring Cloud Config 之svn配置仓库与动态刷新(客户端)
- Spring Cloud Config 之svn配置仓库与动态刷新(客户端手动手动刷新)
- Spring Cloud Config 之svn配置仓库与动态刷新(客户端自动刷新)
- Spring Cloud Config配置文件加解密
- 使用spring cloud config来统一管理配置文件
- spring cloud config 配置svn 实例
- spring cloud:spring cloud config
- spring cloud config server 使用本地配置文件报错
- Spring Cloud Config配置SVN:No valid credentials provided
- 开始Spring Cloud Config
- Android知识点整理(三)
- python的hashlib字符串加密模块
- 启动MYSQL服务时遇到问题(MySQL 服务无法启动。服务没有报告任何错误。)
- 删除Java代码中的所有注释
- ArcGIS for Android Runtime100 基本操作(三)——离线数据空间查询
- spring cloud config 用svn做配置文件仓库
- Linux常用命令
- struts2+ajax图片上传以及jsp页面显示
- 备战2018同等学力
- 质量模型
- [Linux]CentOS7校准时间--NTP
- CentOS6.8安装Redis3.2.5
- 一个Socket连接管理器
- some reg 右键菜单