gpt4 book ai didi

spring-boot - 来自本地文件系统和 git repo 的 spring cloud 配置属性

转载 作者:行者123 更新时间:2023-12-04 12:46:27 25 4
gpt4 key购买 nike

我正在使用 spring 云配置服务器为项目中使用的所有属性文件配置托管一个集中位置。
我尝试使用下面使用的本地文件系统中的配置文件,它工作正常:

spring.profiles.active=native
spring.cloud.config.server.native.searchLocations=file://${HOME}/Documents/test-config/cloud-config-properties/

我还使用了 git repo: spring.cloud.config.server.git.uri=ssh://xxxxxx.com:7999/test/cloud-config-properties.git
我想尝试在我的项目中使用它的组合。
示例 - 对于开发/测试配置文件 - 我想从本地文件系统和生产中使用 - 我想使用 Git 存储库。
我在配置服务器应用程序的 application.properties 中启用了 git uri 和 native 配置文件。但是属性总是从本地文件系统中获取。这可能吗?

最佳答案

不支持开箱即用,但是有一个解决方法。您可以通过设置属性(在配置服务器中)为配置服务器定义 basedir,它保存从远程服务器获取的文件的位置:

spring.cloud.config.server.git.basedir=<your_dir>

如果您正在使用 docker,则可以将此目录映射到主机文件系统。

现在,如果您放入其中的任何文件与请求中的任何应用程序/配置文件匹配,则配置服务器将获取它。例如,您可以将一个名为 application-dynamic.properties 的文件放在那里,并让您的所有客户端使用动态作为最后一个配置文件,例如
spring.profiles.active=systesting,dynamic

这样,您在 application-dynamic.properties 中放入的所有内容都将覆盖配置存储库中定义的任何内容。

但需要注意的一件事是,您只需要在配置服务器启动后添加该文件,因为它会在启动期间删除此文件夹。

不用说,在生产中这样做不是一个好习惯(例如重新启动将导致文件被删除),但对于测试/开发这是最好的选择。

关于spring-boot - 来自本地文件系统和 git repo 的 spring cloud 配置属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36462727/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com