【发布时间】:2019-04-14 21:37:11
【问题描述】:
我在github上使用spring cloud config时遇到了一个问题。我的英语不太好,希望我能清楚地解释这个问题。并且认为 你们阅读本文。
问题是关于使用 github 的 Spring Cloud Config。当我将更多折叠和配置文件添加到包含我所有云配置文件的存储库时,它就发生了。
首先,我在config server的application.yml文件中的cloud.config.server.git下设置了uri,searchPaths,username,password。
然后,我将我所有的配置文件推送到 github。我调用了父存储库 ConfigRepo,在这个 repo 中,我有两个名为 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的url已经改成了
github.com/user/ConfigRepo/tree/master/C/C.yml
更糟糕的是,不仅代表C的配置文件的url变了,ConfigRepo中所有代表配置文件的url都变了。
无论我如何更改 cloud.config.server.git 下的 uri 或 searchPaths,客户端服务器的日志都显示定位属性源的 mapPropertySource 的名称始终是
github.com/user/ConfigRepo/C/C.yml
因此,我无法获取除 null 之外的任何配置,因此所有应用程序都无法启动,甚至包括在我将新配置文件推送到 github 之前可以启动的 A 和 B。
那么,我该怎么办?是一种让 github 摆脱 url 中的 /tree/master 的方法吗?或者如何配置我的配置服务器以支持我的项目?
再次感谢!
【问题讨论】:
-
对不起,这是我的错。 Spring Cloud Config 做得很好,我的 yml 文件中有一些拼写错误。Spring Cloud Config 可以从 github 检索信息,无论 url 是否包含“tree/master”部分,并且不需要记录它部分。再次感谢!
标签: github spring-cloud spring-cloud-config