spring cloud config使用svn作為倉庫
springcloud config 預設是使用git,但是比較多的公司還是使用svn。這裡我使用svn來作為倉庫來配置config server .
config server
pom.xml檔案
<dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-actuator</artifactId> </dependency> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-config-server</artifactId> </dependency> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>org.tmatesoft.svnkit</groupId> <artifactId>svnkit</artifactId> </dependency> </dependencies>
說明:spring-boot-starter-actuator這個是監控用的,svnkit是config 使用svn倉庫需要用到的jar包。
application.yml檔案
spring: cloud: config: server: svn: uri: https://ip/svn/cloudConfig/ username: youUserName password: youPassword default-label: config profiles: active: subversion application: name: spring-cloud-config-server
說明:
url對應你的svn地址,default-label預設訪問的是trunk,config使用svn就必須加上spring.profiles.active =subversion
Application.class 類
在啟動類上加上@EnableConfigServer註解。
@EnableConfigServer @SpringBootApplication @EnableEurekaClient public class ConfigdemoApplication { public static void main(String[] args) { SpringApplication.run(ConfigdemoApplication.class, args); } }
啟動config server ,在瀏覽器上輸入http://localhost:10066/test.yml 後會出現test.yml的內容就表示啟動成功。
這裡的test.yml是存在svn的cloudConfig倉庫下的config資料夾。
config client
這裡有個小坑:
只要Spring Boot Actuator和Spring Config Client在類路徑上,任何Spring Boot應用程式都會嘗試聯絡配置伺服器http://localhost:8888,預設值為 spring.cloud.config.uri。如果你想改變這個預設,你可以設定spring.cloud.config.uri在bootstrap.[yml | properties] 或通過系統屬性或環境變數。
如果你的client的 yml檔案為application的話他會預設去本地查詢http://localhost:8888的config server.
pom.xml
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-config</artifactId>
</dependency>
bootstrap.yml
spring:
cloud:
config:
uri: http://localhost:10066
profile: dev
application:
name: test
啟動client,檢驗是否成功。