1、Config Server的Git倉庫配置git
1.一、佔位符支持
spring
Config Server的佔位符支持{application}、{profile}、{label}app
server: port: 5020 spring: application: name: config-server cloud: config: server: git: uri: https://git.oschina.net/wadjz/{application} username: 用戶名 password: 密碼
1.二、模式匹配
ide
模式匹配指的是帶有通配符的{application}/{profile}名稱的列表。若是{application}/{profile}不匹配任何模式,它將會使用spring.cloud.config.server.git.uri定義的URIspa
server: port: 5020 spring: application: name: config-server cloud: config: server: git: uri: https://git.oschina.net/wadjz/spring-cloud-config.git repos: simple: https://git.oschina.net/simple/spring-cloud-config special: pattern: special*/dev*,*special*/dev* uri: https://git.oschina.net/special/spring-cloud-config loca: pattern: loca* uri: file:/home/conf/spring-cloud-config
上面代碼說明,對於simple倉庫,它只匹配全部配置文件中名爲simple的應用程序。loca倉庫則匹配全部配置文件中以loca開頭的全部應用程序的名稱。.net
1.三、搜索目錄debug
不少場景下,可能把配置文件放在了Git倉庫的子目錄中,此時可使用search-path指定,search-path一樣支持佔位符。日誌
server: port: 5020 spring: application: name: config-server cloud: config: server: git: uri: https://git.oschina.net/wadjz/spring-cloud-config.git search-paths: foo,bar*
這樣,Config Server就會在Git倉庫根目錄、foo子目錄、以及全部以bar開始的子目錄中查找配置文件。server
1.四、啓動時加載配置文件blog
默認狀況下,在配置被首次請求時,Config Server纔會clone Git倉庫。也可讓Config Server啓動時clone指定Git倉庫。以下:
server: port: 5020 spring: application: name: config-server cloud: config: server: git: uri: https://git.oschina.net/wadjz/spring-cloud-config.git clone-on-start: true
將屬性spring.cloud.config.server.git.clone-on-start設爲true進行全局配置。
注意:配置clone-on-start=true可幫助Config Server啓動時快速識別錯誤的配置源(如:無效的Git倉庫)
提示:如何打印Config Server請求Git倉庫的細節?
設定日誌級別:debug
<logger name="org.springframework.cloud" level="debug"/> <logger name="org.springframework.boot" level="debug"/>
2、Config Server的健康情況指示器
Config Server自帶了一個健康狀態指示器,用於檢查所配置的EnvironmentRepository是否正常工做。可以使用Config Server的/health端點查詢當前健康狀態。
默認狀況下,健康指示器向EnvironmentRepository請求的{application}的app,{profile}和{lable}是對應EnvironmentRepository實現的默認值。對於Git,{prpfile}是default,{lable}是master。一樣也能夠自定義健康情況指示器的配置,從而檢查更多的{application}、自定義的{profile}以及自定義的{lable},如:
server: port: 5020 #端點的配置 endpoints: sensitive: true shutdown: enabled: true management: security: enabled: false spring: application: name: config-server cloud: config: server: git: uri: https://git.oschina.net/wadjz/spring-cloud-config.git username: password: clone-on-start: true health: repositories: a-foo: label: v2.0 profiles: dev name: spring-cloud-demo
如需禁用健康情況指示器,可設置spring.cloud.config.server.health=false