spring-cloud-config-server——Environment Repository(File System Backend)

null^發表於2017-12-05

參考資料:

  https://cloud.spring.io/spring-cloud-static/spring-cloud-config/1.4.0.RELEASE/single/spring-cloud-config.html

  http://cloud.spring.io/spring-cloud-static/Camden.SR7/

檔案系統後端:

  Config Server中有一個不適用Git的"native"配置檔案,只是從本地類路徑或檔案系統中載入配置(你可以使用"spring.cloud.config.server.native.searchLocations"指向任何的靜態URL).  

  想要使用native profile,只需要使用“spring.profiles.active=native”啟動Config Server即可。

  NOTE:

    記得檔案資源使用 file: 字首(通常的類路徑預設是沒有字首的)。

    就像任何的Spring Boot配置一樣,可以嵌入${}風格的環境佔位符,但是請記住,Windows中絕對路徑需要額外的新增"/",例如:file:///${user.home}/config-repo。

  WARNING:

    searchLocations 的預設值與本地的Spring Boot應用程式(所以[classpath:/, classpath:/config, file:./, file:./config])相同。這不會將 application.properties從伺服器暴露給所有客戶端,因為在傳送給客戶端前,伺服器中存在的任何的屬性源將被刪除。

  TIP:

    檔案系統後端非常適合快速入門和測試。要在成產中使用它,需要保證檔案系統是可靠的,並且在Config Server的所有例項中共享。

  搜尋位置可以包含{application}{profile}{label}佔位符。通過這種方式可以分割路徑中的目錄,並選擇一個對你有意義的策略(例如,每個application的子目錄,每個profile的子目錄)。

  如果不在搜尋位置是用佔位符,該儲存庫也會將HTTP資源的{label}追加到搜尋路徑的字尾上,因此屬性檔案將從每個搜尋位置和與標籤名相同的子目錄中載入(被標記的屬性在Spring環境中有限)。因此沒有佔位符的預設行為與末尾新增了/{label}/的搜尋位置相同。例如:file:/tmp/configfile:/tmp/config,file:/tmp/config/{label}相同。這個行為可以通過設定spring.cloud.config.server.native.addLabelLocations=false來禁用。

  

相關文章