我正在尝试实施Spring Cloud集中配置的示例。我有我的Spring Cloud服务器,它从git存储库获取配置并将它们发送到另一个应用程序。 如果我使用公共Github存储库没问题,但是当我使用 Gitlab 或 Bitbucket 私有存储库时,我无法加载我的新配置。
这是我的服务器application.properties:
server.port=8888
#gitlab
spring.cloud.config.server.git.uri=https://gitlab.com/myusername/reponame
spring.cloud.config.server.git.username=myusername
spring.cloud.config.server.git.password=mypassword
我也试图用这种方式指定uri:
spring.cloud.config.server.git.uri=https://gitlab.com/myusername/reponame.git
没有结果。 repo中的项目与从我的公共Github存储库(工作的存储库)导入的项目非常相似。
另一个奇怪的问题,关于接收配置的客户端, @RefreshScope 如果放在 @SpringBootApplication 上或者放在我的 @RestController ,所以我必须重新启动客户端应用程序才能获得新配置。
答案 0 :(得分:1)
这是正确的配置(仔细检查了我自己的配置),所以通过git clone传递凭证来确保用户名/密码是正确的:
git clone https://myusername:mypassword@gitlab.com/myusername/reponame
此外,@ RefreshScope不会轮询更新的配置。您需要POST到/ refresh端点(需要启用)
curl -X POST http://localhost:8080/refresh