如何从包含多个 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.nameLogDemo.

如果一个或多个模式匹配,则将使用匹配模式的存储库。如果没有模式匹配,则使用默认值。

此处的文档中描述了完整的详细信息。

https://cloud.spring.io/spring-cloud-config/single/spring-cloud-config.html#_pattern_matching_and_multiple_repositories

如果您不需要或不需要模式匹配功能,您可以使用[复合后端]( https://docs.pivotal.io/spring-cloud-services/2-0/common/config-server/composite-backends.html)。复合后端允许您定义多个 Git 存储库。请在此处查看第一个配置示例。

https://docs.pivotal.io/spring-cloud-services/2-0/common/config-server/composite-backends.html#general-configuration