我有以下 Spring 云配置 application.yml:
spring:
application:
name: configserver
cloud:
config:
server:
git:
uri: https://xyz@bitbucket.org/xyz/microservices-configs.git
username: xyz
password: xyz
basedir: target/configs
server:
port: 8881
以下是我的 bootstrap.yml
的用户微服务:
spring:
application:
name: userservice
cloud:
config:
uri: http://localhost:8881/
情景 - 1
当我像这样在浏览器中点击配置服务器时:
http://localhost:8881/development/userservice-development.yml
它正确地提供文件。当我查看 basedir
即目标/配置时,我看到:
- userservice.yml
- gateway.yml
正是我想要的, 因为我只在开发分支中添加了这两个文件。
情景 - 2
当我使用以下命令运行我的 userservice 微服务项目时:
mvn clean spring-boot:run -Dspring.profiles.active=development
它从 git 获取正确的文件,但 它从 master 分支结帐! 但 不像我所期望的那样来自开发分支。我期待对吗? (仅供参考,我在主分支中有开发和生产 yml)
所以问题是,我们如何去使用配置服务器?是否有任何配置可以设置为仅从该特定分支获取 yml ?我相信我们需要设置一些标签,因为根据文档,默认标签是主标签。谁能让我知道我们如何在上述情况下设置标签?
原文由 A Gupta 发布,翻译遵循 CC BY-SA 4.0 许可协议
根据 文档,您要在配置客户端中设置的配置是:
其中
mybranch
是您的 git 存储库中的现有分支。