-2

我正在使用 Spring 配置服务器,目前根据配置服务器的文档,我的配置在 git 中。现在我的问题是我的 prod 和 stage env 无法访问 git,因此直接从 git 获取属性是一个问题,因为我的 git 托管在 prem 上。我找到的解决方案是将我的所有属性包含在配置服务器映像本身中(我们为每个应用程序(包括配置服务器)提供了一个 docker 映像)。这是我不想做的事情,因为每次配置值更改时都需要新的映像部署,这不是配置存储的理想用途。我可以使用 GCP 存储桶,其他一些可以在 Google Cloud 上使用的解决方案,我可以在其中部署为构建数据包。

谢谢,

阿莫尔

4

2 回答 2

0

现在我的问题是我的 prod 和 stage env 无法访问 git

那么 Config Server 将不会在您的阶段或生产环境中有用。您需要重新设计解决方案。

于 2017-12-01T18:12:34.150 回答
0

这就是我所做的。

  • 使用的配置服务器可以通过 URL 或系统位置访问 git。
  • 我使用 gcsfuse 在我的应用程序正在运行的服务器上安装了一个谷歌云存储桶(我正在使用 kubernetes 并在容器内添加了 gcsfuse)并将其用作配置服务器 url 中的 repo 位置,如下所示

    spring.cloud.config.server.git.repos.my-app.uri=file://${configuration.store.path}

  • 在我的网络中创建一个进程(Jenkins 作业),它可以访问 git 并在此处安装相同的 GCS 存储桶。作业不断使用来自 repo 的最新配置更新存储桶,并且它自动可供我的服务器使用。

于 2017-12-07T05:03:34.923 回答