|
此版本仍在开发中,目前尚不稳定。如需最新稳定版本,请使用 Spring Cloud Config 5.0.1! |
文件系统后端
配置服务器中还存在一个“原生”配置文件(native profile),该配置文件不使用 Git,而是从本地类路径或文件系统加载配置文件(您可使用任意静态 URL 指向所需位置,如 spring.cloud.config.server.native.searchLocations)。
要使用原生配置文件,请通过 spring.profiles.active=native 启动配置服务器。
请记住,对于文件资源,请使用 file: 前缀(不带前缀时的默认值通常是类路径)。与任何 Spring Boot 配置一样,您都可以嵌入 ${} 样式的环境占位符,但请注意,在 Windows 中,绝对路径需要额外的 /(例如,/${user.home}/config-repo)。 |
默认值 searchLocations 与本地 Spring Boot 应用程序相同(即 [classpath:/, classpath:/config,
file:./, file:./config])。这不会将服务器的 application.properties 暴露给所有客户端,因为服务器中存在的任何属性源在发送到客户端之前都会被移除。 |
| 文件系统后端非常适合快速入门和测试。</p><p>要在生产环境中使用它,您需要确保文件系统可靠,并且在所有配置服务器实例之间共享。 |
搜索位置可以包含 {application}、{profile} 和 {label} 的占位符。通过这种方式,您可以将路径中的目录进行分离,并选择一种适合您的策略(例如按应用程序或按配置文件设置子目录)。
如果您在搜索位置中不使用占位符,此仓库还会将 HTTP 资源的 {label} 参数附加到搜索路径的末尾,因此属性文件会从每个搜索位置(以及一个与标签同名的子目录)中加载,其中带标签的属性在 Spring 环境中具有更高优先级。因此,无占位符时的默认行为与添加一个以 /{label}/ 结尾的搜索位置相同。例如,file:/tmp/config 与 file:/tmp/config,file:/tmp/config/{label} 的效果相同。您可以通过设置 spring.cloud.config.server.native.addLabelLocations=false 来禁用此行为。