Spring Cloud 配置中的 spring.cloud.config.label 属性有什么作用?

0 java spring spring-boot microservices spring-cloud

我正在学习 Spring Cloud Config v3.0.5。我在学习文档的时候时,我发现文档提到了这一点

\n
\n

例如,您可能希望将配置标签与您的分支对齐,但将其设为可选(在这种情况下,请使用 spring.cloud.config.label=myfeature,develop)。

\n
\n

我不知道 \xe2\x80\x99t 知道\xe2\x80\x9calign 配置标签\xe2\x80\x9d是什么意思。但我猜应该是修改url中{label}的默认值(默认值为master)\n在此输入图像描述

\n

但是,当我设置spring.cloud.config.label=dev并访问 http://localhost:3344/config-dev.yml 时,我仍然在 master 分支上获取数据。\n在此输入图像描述\n
\n
\n在此输入图像描述\n
\n
\n那么 spring.cloud.config.label 属性有什么作用呢?文档中提到的“将配置标签与您的分支对齐”是什么意思?

\n

Hen*_*ing 5

该属性spring.cloud.config.label可以在客户端应用程序中使用,而不能在配置服务器中使用。

我假设您的配置服务器使用 git 后端。要获取具有 label 的配置dev,您需要在包含该配置的 git 存储库中创建一个分支或标签。其他后端的机制可以在参考文档中查找。

创建分支后,URL 应按预期工作。但请注意,URLhttp://localhost:3344/config-dev.yml指的是一个名为的应用程序config和一个配置文件(而不是标签)dev。Spring 应用程序的默认配置文件是default,在客户端上设置它的多种方法之一是使用属性spring.profiles.active

我同意参考文档中的词align不清楚。我认为他们建议在配置存储库中创建分支以进行功能分支开发,并分别对配置和代码存储库使用相同的分支名称。然后你可以将标签设置为客户端代码仓库的功能分支中的分支名称。