1

我们正在使用由 bitbucket 支持的 Spring Cloud 配置服务器来获取配置文件。我们在配置服务器的 application.yml 中配置了多个存储库。即使 bitbucket 关闭,我们也希望它可用。我们正在寻找一种可以缓存配置存储库的解决方案,如果 bitbucket 出现故障,它仍然可以提供不同存储库的属性。下面是我的 application.yml

spring:
  cloud:
    config:
      server:
        git:
          uri: git@bitbucket.org:config1.git
          ignoreLocalSshSettings: true
          privateKey: ${PEM}
          repos:
            service1:
              uri: git@bitbucket.org:config2.git
              ignoreLocalSshSettings: true
              privateKey: ${PEM}
            service2:
              uri: git@bitbucket.org:config3.git
              ignoreLocalSshSettings: true
              privateKey: ${PEM}

我尝试过设置,spring.cloud.config.server.git.basedir但它只克隆基本配置仓库。如果 bitbucket 关闭,我们如何使配置服务器从本地服务。

4

1 回答 1

1

使用basedir财产是唯一的出路。这就是我们使用它的方式:

spring:
  cloud:
    config:
      server:
        git:
          uri: git@bitbucket.org:config1.git
          ignoreLocalSshSettings: true
          privateKey: ${PEM}
          basedir: /home/user/config1-repo
          repos:
            service1:
              uri: git@bitbucket.org:config2.git
              ignoreLocalSshSettings: true
              privateKey: ${PEM}
              basedir: /home/user/config2-repo
            service2:
              uri: git@bitbucket.org:config3.git
              ignoreLocalSshSettings: true
              privateKey: ${PEM}
              basedir: /home/user/config3-repo

您如何尝试重现 git 不可用并强制配置服务器从本地服务器路径获取属性的场景。我建议你创建本地路径。并使用 git-bash 克隆本地 repo 目录中的配置 repo。例如,在这种情况下,进入/home/user/localRepo并在那里克隆您的 config git repo。确保正确克隆所有文件和文件夹。

然后尝试重现 git not available 场景并检查您的配置服务器 MS 是否能够从本地目录获取属性。这是回退的唯一出路。

于 2020-07-23T14:11:28.460 回答