spring-cloud-config-server——Environment Repository(File System Backend)
参考资料:
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/config
与file:/tmp/config,file:/tmp/config/{label}
相同。这个行为可以通过设置spring.cloud.config.server.native.addLabelLocations=false
来禁用。