1

我有一个 Spring Boot 驱动的 Spring Cloud 应用程序,其配置服务器在 localhost 上的 8001 端口上单独运行。

同时,在客户端项目的 bootstrap.yml 文件中的配置客户端应用程序/微服务中指定了位置,如下所示。

spring:
  cloud:
    config:
      uri: http://localhost:8001

这绝对没问题。

但是,当我想在不同的设置上部署整个应用程序时,我需要在不同的 IP 和端口上运行配置服务器。

在那种情况下,我不能去更改所有项目中配置服务器的 IP:端口信息,重建 jar 并部署它们。事实上,在大多数情况下,Jenkins 都会在不同的环境中自行构建 Jars。

我们该如何处理这种情况?我们可以在 bootstrap.yml 中指定一个环境变量吗,如果可以怎么做?

有什么建议吗?

溴,

阿杰

4

1 回答 1

1

您绝对可以在 bootstrap.yml 文件中使用环境变量:

spring:
  cloud:
    config:
      uri: http://${configServerHost}:${configServerPort}

启动应用程序时,您只需添加-DconfigServerHost=localhost -DconfigServerPort=8001

于 2016-09-20T11:09:54.423 回答