檔案系統後端

配置伺服器中還有一個“native”配置檔案,它不使用 Git,而是從本地類路徑或檔案系統(您可以透過 spring.cloud.config.server.native.searchLocations 指向的任何靜態 URL)載入配置檔案。要使用 native 配置檔案,啟動配置伺服器時設定 spring.profiles.active=native

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

搜尋位置可以包含 {application}{profile}{label} 的佔位符。這樣,您可以在路徑中隔離目錄,並選擇適合您的策略(例如,每個應用一個子目錄或每個 profile 一個子目錄)。

如果您在搜尋位置中不使用佔位符,此倉庫也會將 HTTP 資源的 {label} 引數作為字尾附加到搜尋路徑上,以便屬性檔案從每個搜尋位置 以及 一個與 label 同名的子目錄中載入(帶 label 的屬性在 Spring Environment 中具有優先順序)。因此,不使用佔位符的預設行為與新增一個以 /{label}/ 結尾的搜尋位置相同。例如,file:/tmp/configfile:/tmp/config,file:/tmp/config/{label} 相同。可以透過設定 spring.cloud.config.server.native.addLabelLocations=false 來停用此行為。