檔案系統後端

在 Config 伺服器中還有一個 “native” 設定檔,它不使用 Git,而是從本機類別路徑或檔案系統 (您想要使用 spring.cloud.config.server.native.searchLocations 指向的任何靜態 URL) 載入組態檔案。若要使用 native 設定檔,請使用 spring.profiles.active=native 啟動 Config 伺服器。

請記得對檔案資源使用 file: 前綴 (預設不加前綴通常是類別路徑)。如同任何 Spring Boot 組態,您可以嵌入 ${} 樣式的環境佔位符,但請記得 Windows 中的絕對路徑需要額外的 / (例如,/${user.home}/config-repo)。
searchLocations 的預設值與本機 Spring Boot 應用程式相同 (即 [classpath:/, classpath:/config, file:./, file:./config])。這不會將伺服器的 application.properties 暴露給所有用戶端,因為伺服器中存在的任何屬性來源在傳送給用戶端之前都會被移除。
檔案系統後端非常適合快速入門和測試。若要在生產環境中使用,您需要確保檔案系統是可靠的,並且在 Config 伺服器的所有實例之間共享。

searchLocations 可以包含 {application}、{profile} 和 {label} 的佔位符。透過這種方式,您可以隔離路徑中的目錄,並選擇對您有意義的策略 (例如每個應用程式的子目錄或每個 profile 的子目錄)。

如果您不在 searchLocations 中使用佔位符,此儲存庫也會將 HTTP 資源的 {label} 參數附加到搜尋路徑的後綴,因此屬性檔案會從每個搜尋位置和與標籤名稱相同的子目錄載入 (標記的屬性在 Spring 環境中具有優先權)。因此,沒有佔位符的預設行為與新增以 /{label}/ 結尾的搜尋位置相同。例如,file:/tmp/configfile:/tmp/config,file:/tmp/config/{label} 相同。可以透過設定 spring.cloud.config.server.native.addLabelLocations=false 來停用此行為。