在github上使用spring cloud config时遇到一个问题。我不太会英语,希望我能清楚地解释这个问题。 你们读这篇文章。
问题出在github上,有关Spring Cloud Config的问题。当我向存储所有我的云配置文件的存储库中添加更多折叠和配置文件时发生了这种情况。
首先,我在属于配置服务器的application.yml文件的cloud.config.server.git下设置uri,searchPaths,用户名,密码。
然后,我将所有配置文件推送到github。我将其称为父存储库ConfigRepo,在此存储库中,我得到了两个名为A和B的文件夹。 结构就是这样。
-ConfigRepo
-A
-A.yml
-B
-B.yml
最后,我在其他应用程序的bootstrap.yml中设置应用程序名称,即A和B。
完成后,我启动了应用程序。所有客户端服务器都可以找到配置服务器,并通过url获得正确的yml文件。例如,客户端A从
获取其配置。github.com/user/ConfigRepo/A/A.yml
但是因为我需要添加一个新的应用程序C,所以我创建了一个新文件夹C来保存并保存应用程序C的配置文件并将其推送到github。
我像上面那样完成了应用程序C的配置工作并启动它。但是我发现url代表配置文件已更改。我的意思是,它应该是
github.com/user/ConfigRepo/C/C.yml
但是实际上,github的网址已更改为
github.com/user/ConfigRepo/ 树/母版 /C/C.yml
更糟糕的是,不仅url表示C的配置文件已更改,而且所有url表示ConfigRepo中的配置文件也已更改。
无论我如何更改cloud.config.server.git下的uri或searchPaths,客户端服务器的日志都会向我显示,所定位的属性源的mapPropertySource的名称始终为
github.com/user/ConfigRepo/C/C.yml
结果是,我无法获得除null以外的任何配置,因此所有应用程序甚至都无法启动,包括A和B,它们可以在将新的配置文件推送到github之前启动。
那我该怎么办?是让github摆脱url中的/ tree / master的一种方法?还是如何配置我的配置服务器以支持我的项目?
再次感谢!
答案 0 :(得分:0)
我们正在做微服务项目,并使用以下配置从GitHub检索配置。您需要将标签添加为主标签才能检索配置。
spring:
application:
name: ####
profiles:
active: ####
cloud:
enable: true
config:
uri: ${CONFIG_SERVER_URL}
failFast: true
retry:
maxAttempts: 20
label: master
profile: ######