如何从包含多个 repo 的配置服务器中获取属性
How to fetch properties from config-server consisting of more than one repo
我想从两个 git 存储库中获取属性。一个是 https://username@bitbucket.my.domain.com/share.git - which will have a property file contains some common key value pair and the other one is https://username@bitbucket.my.domain.com/service.git - 它将包含所有微服务的 属性 文件。
当我部署服务时只有一个 yml 文件(也在 https://username@bitbucket.my.domain.com/share.git repo) is read by the config server. What I am missing? How to read the property file from another repo i.e. https://username@bitbucket.my.domain.com/service.git 中?
我想在 PCF 中部署服务。所以我在 PCF 中配置了配置服务器 json.
{
"count": 1,
"git": {
"label": "feature",
"uri": "https://username@bitbucket.my.domain.com/share.git",
"username": "username",
"password": "password",
"repos": {
"configserver": {
"password": "password",
"label": "feature",
"uri": "https://username@bitbucket.my.domain.com/service.git"
"username": "username"
}
}
}
}
我的服务名称是 LogDemo,spring 配置文件是 active。我已经创建了两个 yml 文件并放在相应的 repo 中。 (我给两个文件取了相同的名字,比如 LogDemo-active.yml)。当我部署服务时,配置服务器只读取一个 yml 文件(位于 https://username@bitbucket.my.domain.com/share.git 存储库中)。 /env 给我以下内容:
{
"profiles": [
"active",
"cloud"
],
"server.ports": {
"local.server.port": 8080
},
"configService:configClient": {
"config.client.version": "234e59d4a9f80f035f00fdf07e6f9f16e5560a55"
},
"configService:https://username@bitbucket.my.domain.com/share.git/LogDemo-active.yml": {
"key1": "value1",
"key2": "value2"
},
...................
...................
我错过了什么?如何从其他仓库读取 属性 文件,即 https://username@bitbucket.my.domain.com/service.git?
下面是我的bootstrap.yml
spring:
application:
name: LogDemo
mvc:
view:
prefix: /
suffix: .jsp
这是我的清单文件
---
inherit: baseManifest.yml
applications:
- name: LogDemo
host: LogDemo
env:
LOG_LEVEL: INFO
spring.profiles.active: active
TZ: America/New_York
memory: 1024M
domain: my.domain.com
services:
- config-server-comp
使用多个存储库时,将应用的存储库取决于为这些存储库定义的模式。默认模式是 <repo-name>/*
。因此,将存储库名称更改为 LogDemo
将为您的应用程序激活存储库,因为应用程序名称 spring.application.name
是 LogDemo
.
如果一个或多个模式匹配,则将使用匹配模式的存储库。如果没有模式匹配,则使用默认值。
此处的文档中描述了完整的详细信息。
如果您不需要或不需要模式匹配功能,您可以使用[复合后端](
https://docs.pivotal.io/spring-cloud-services/2-0/common/config-server/composite-backends.html)。复合后端允许您定义多个 Git 存储库。请在此处查看第一个配置示例。
我想从两个 git 存储库中获取属性。一个是 https://username@bitbucket.my.domain.com/share.git - which will have a property file contains some common key value pair and the other one is https://username@bitbucket.my.domain.com/service.git - 它将包含所有微服务的 属性 文件。
当我部署服务时只有一个 yml 文件(也在 https://username@bitbucket.my.domain.com/share.git repo) is read by the config server. What I am missing? How to read the property file from another repo i.e. https://username@bitbucket.my.domain.com/service.git 中?
我想在 PCF 中部署服务。所以我在 PCF 中配置了配置服务器 json.
{
"count": 1,
"git": {
"label": "feature",
"uri": "https://username@bitbucket.my.domain.com/share.git",
"username": "username",
"password": "password",
"repos": {
"configserver": {
"password": "password",
"label": "feature",
"uri": "https://username@bitbucket.my.domain.com/service.git"
"username": "username"
}
}
}
}
我的服务名称是 LogDemo,spring 配置文件是 active。我已经创建了两个 yml 文件并放在相应的 repo 中。 (我给两个文件取了相同的名字,比如 LogDemo-active.yml)。当我部署服务时,配置服务器只读取一个 yml 文件(位于 https://username@bitbucket.my.domain.com/share.git 存储库中)。 /env 给我以下内容:
{
"profiles": [
"active",
"cloud"
],
"server.ports": {
"local.server.port": 8080
},
"configService:configClient": {
"config.client.version": "234e59d4a9f80f035f00fdf07e6f9f16e5560a55"
},
"configService:https://username@bitbucket.my.domain.com/share.git/LogDemo-active.yml": {
"key1": "value1",
"key2": "value2"
},
...................
...................
我错过了什么?如何从其他仓库读取 属性 文件,即 https://username@bitbucket.my.domain.com/service.git?
下面是我的bootstrap.yml
spring:
application:
name: LogDemo
mvc:
view:
prefix: /
suffix: .jsp
这是我的清单文件
---
inherit: baseManifest.yml
applications:
- name: LogDemo
host: LogDemo
env:
LOG_LEVEL: INFO
spring.profiles.active: active
TZ: America/New_York
memory: 1024M
domain: my.domain.com
services:
- config-server-comp
使用多个存储库时,将应用的存储库取决于为这些存储库定义的模式。默认模式是 <repo-name>/*
。因此,将存储库名称更改为 LogDemo
将为您的应用程序激活存储库,因为应用程序名称 spring.application.name
是 LogDemo
.
如果一个或多个模式匹配,则将使用匹配模式的存储库。如果没有模式匹配,则使用默认值。
此处的文档中描述了完整的详细信息。
如果您不需要或不需要模式匹配功能,您可以使用[复合后端]( https://docs.pivotal.io/spring-cloud-services/2-0/common/config-server/composite-backends.html)。复合后端允许您定义多个 Git 存储库。请在此处查看第一个配置示例。