Spring cloud为不同的配置文件配置本地和远程存储库

时间:2016-08-11 04:25:03

标签: spring spring-boot yaml spring-cloud-config

我正在尝试使用多个存储库设置我的应用程序 - 一个用于开发/测试目的的本地文件和一个用于生产的远程git仓库。

我为此目的使用以下yaml -

spring:
  application:
    name: localRepoConfig
  cloud:
    config:
      server:
        git:
          uri: https://github.com/spring-cloud-samples/config-repo
          repos:
            development:
              pattern:
                - '*/development'
                - '*/staging'
              uri: https://github.com/development/config-repo          
        native:
          searchLocations: classpath:/config
server:
  port: 8888

但这不起作用,以下适用于本地仓库 -

spring:
  application:
    name: localRepoConfig
  profiles:
    active: native
  cloud:
    config:
      server:
        native:
          searchLocations: classpath:/config
server:
  port: 8888

在遵循Spring文档和这里的一些帖子之后,我无法使这两个存储库发挥作用。 如果有人能指出我正确的方向,我将非常感激。

2 个答案:

答案 0 :(得分:1)

我在bootstrap.yml中使用了以下配置 -

spring: application: name: localRepoConfig profiles: active: native cloud: config: server: native: searchLocations: classpath:/config server: port: 8888

--- spring:
profiles: development cloud: config: server: git: uri: https://github.com/spring-cloud-samples/config-repo server: port: 8989

我现在可以在原生和开发配置文件之间切换。 以下指南非常有帮助 - kubecloud.io/guide-spring-cloud-config /

答案 1 :(得分:0)

基于Spring Cloud Config上的文档,听起来像native和git是互斥的,并且你不能将它们用于单个配置服务器。