1. 程式人生 > >spring cloud config使用svn作為倉庫

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,檢驗是否成功。