项目开发到了测试和上生产的环境后就需要考虑配置文件的变更了,比如数据库密码本地和生产环境肯定会不一样。

如果当前只有一个项目还好,但是随着分布式的兴起,项目会被拆分成若干个微服务项目。项目可能会有10个甚至更多。

这么多的项目分开部署,如何“一键”切换配置就成了迫在眉睫的问题了。

1.在分布式配置服务对应的gitlab远程库中添加两个文件夹

然后把你的yml配置文件存放到这两个文件夹中。

2.在分布式配置的微服务项目中,yml配置文件改成:


3.这三个配置文件中的内容分别是:

(1)bootstrap.yml----其中active表示将来会加载哪个配置文件

spring:
  profiles:
    active: local

(2)bootstrap-local.yml----search-paths表示会在远程库的哪个文件夹中加载配置

spring:
  application:
    name: config-server
  cloud:
    config:
      label: master
      server:
        git:
          uri: git@gitlab.com:alanWang9999/springcloud-config-demo.git
          clone-on-start: true
          search-paths: local
server:
  port: 8888

(3)bootstrap-test.yml----search-paths表示会在远程库的哪个文件夹中加载配置

spring:
  application:
    name: config-server
  cloud:
    config:
      label: master
      server:
        git:
          uri: git@gitlab.com:alanWang9999/springcloud-config-demo.git
          clone-on-start: true
          search-paths: test
server:
  port: 8888

3.打包启动时,如果需要切换环境有两种方法切换

(1)可以直接修改bootstrap.yml的active属性

(2)或者通过命令行启动,通过-Dspring.profiles.active参数来指定加载哪个环境的配置

java  -Dspring.profiles.active=test  -jar config-service-1.0-SNAPSHOT.jar

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐