如何设置 Pivotal Cloud Foundry Config Server 以使用来自我的 git 存储库的多个搜索路径?

艾萨克

我有一个本地配置服务器,它可以在像这样的 yml 配置设置中正常工作吗?

spring:
  cloud:
    config:
      server:
        git:
          uri: https://github.com/xxx/xxxxx
          search-paths:
          - 'kenya*' 
          - 'tanzania*' 
          - 'uganda*' 
          - 'congo*'
          - 'zimbabwe*'

在我的本地项目中,我可以访问所有这些存储库,例如

http://localhost:8888/uganda/dev

这将返回正确的文件以及预期的所选个人资料广告。

但是,当我设置 Pivotal Config 服务器时,无论我向路径添加什么参数,我都只会获得默认属性。

像这样https://configserver.cfapps.io/uganda/dev只返回存储库根目录下的默认属性。

我该如何使用

searchPaths 此处说明https://docs.run.pivotal.io/spring-cloud-services/config-server/configuring-with-git.html

添加我所有子文件夹的标志?

丹尼尔·米库萨

如果您使用 Pivotal Spring Cloud 服务,则可以使用多个创建服务,searchPaths如下所示:

cf create-service -c '{ "git": { "uri": "https://github.com/dmikusa-pivotal/cook-config.git", "label": "search-paths", "searchPaths": "dev,prod" } }' cook-config-server

searchPaths参数仅采用逗号分隔的搜索路径/模式列表。

您指向的存储库应该具有名为devand 的顶级文件夹prod然后配置服务器将从<app-name>.properties搜索路径文件夹中返回(它支持的所有其他变体)。

您可以通过运行如下命令来验证您是否收到了多个搜索路径的数据:

curl -k -H "Authorization: bearer $(curl -k -s -X POST 'https://p-spring-cloud-services.uaa.<system_domain>/oauth/token' -d 'grant_type=client_credentials&client_id=<insert client id>&client_secret=<insert client_secret>' | jq .access_token | cut -d '"' -f 2)" <insert uri>/cook/prod

您需要替换<system_domain>为您的基础的系统域,<insert client id>以及<insert client secret>您的服务实例的客户端 ID 和机密(cf env <app>针对具有绑定 SCS 配置服务器的应用程序运行以获取这些值)。

这个命令会做两件事。首先,它将使用client_idclient_secret来获取令牌。然后在第二个请求中使用令牌从配置服务器实际请求一些数据。

如果您从多个搜索路径获取配置,您应该会看到这样的输出(请注意来自devprod子文件夹的数据):

{"name":"cook","profiles":["prod"],"label":null,"version":"5d5a3f26022dd00becdbad855c7d27ae530685f7","state":null,"propertySources":[{"name":"https://github.com/dmikusa-pivotal/cook-config.git/prod/cook.properties","source":{"cook.special":"Prod Config"}},{"name":"https://github.com/dmikusa-pivotal/cook-config.git/dev/cook.properties","source":{"cook.special":"Dev Config"}},{"name":"https://github.com/dmikusa-pivotal/cook-config.git/cook.properties","source":{"cook.special":"Not in Folder config"}}]}

希望有帮助!

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何获取在Pivotal Cloud Foundry上运行的python xmlsec库

Spring Cloud如何定义Pivotal Cloud Foundry下的验证间隔?

Pivotal Cloud Foundry登录问题

如何在PCF(Pivotal Cloud Foundry)中将信任库和密钥库添加到springboot应用程序

如何在 Pivotal Cloud Foundry 中使用证书启动 HTTPS Node JS 服务器?

Cloud Foundry与Pivotal Web Services之间的区别

Pivotal Cloud Foundry-安全证书

Pivotal Cloud Foundry中的ResourceExhausted错误

Pivotal Cloud Foundry上的Spring JPA如何知道如何连接到绑定的MySQL实例?

Pivotal Cloud Foundry-连接到外部Oracle数据库

是否有环境变量可以告诉我正在运行的 Pivotal Cloud Foundry Foundation?

我的 Pivotal Cloud Foundry 应用程序在进行健康检查时经常崩溃

Pivotal Cloud Foundry-使用服务注册表:容器到容器的通信被阻止

使用 buildpack 中的 SQL 驱动程序在 Pivotal Cloud Foundry 上部署具有多个数据源的应用程序

如何将Spring Cloud Config与Git and Vault复合环境存储库一起使用?

Pivotal Cloud Foundry中的JAX RS应用程序

Pivotal Cloud Foundry中的UI应用程序

我们可以在 Pivotal Cloud Foundry 的不同空间中使用相同的主机名和域吗?

如何获得Cloud Foundry Pivotal上托管的应用程序的统计信息(每秒请求数,响应时间)?

多个存储库的Spring Cloud Config Server后备

为什么我在Cloud Foundry的Spring Boot 2上的执行器/刷新端点上收到403禁止错误{使用Cloud Config Server服务}

如何使用Cloud Foundry API获取令牌?

如何设置Cloud Foundry API端点?

如何从Spring Cloud Config Server设置系统变量

如何从Spring Cloud Config Server读取多个配置文件

如何设置git config以使用域的特定密钥?

无法将 NodeJS + AngularJS 应用程序推送到 PAS - Pivotal Cloud Foundry (PCF)

在 Pivotal Cloud Foundry 中创建服务代理时无法访问“计划”部分

用于部署在 Pivotal Cloud Foundry 上的 angularjs 应用程序的 Nginx.conf