文件系统后端

Config 服务器中还有一个“原生”配置文件,它不使用 Git,而是从本地类路径或文件系统(您想要指向的任何静态 URL,使用 spring.cloud.config.server.native.searchLocations)。要使用原生配置文件,请使用 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 服务器的所有实例之间共享。

搜索位置可以包含 {application}{profile}{label} 的占位符。通过这种方式,您可以隔离路径中的目录,并选择适合您的策略(例如,每个应用程序的子目录或每个配置文件的子目录)。

如果您在搜索位置中不使用占位符,则此资源库还会将 HTTP 资源的 {label} 参数追加到搜索路径的后缀上,以便从每个搜索位置与标签名称相同的子目录中加载属性文件(标记的属性在 Spring 环境中优先)。因此,不使用占位符的默认行为与添加以 /{label}/ 结尾的搜索位置相同。例如,file:/tmp/configfile:/tmp/config,file:/tmp/config/{label} 相同。可以通过设置 spring.cloud.config.server.native.addLabelLocations=false 来禁用此行为。