spring cloud config使用本地配置文件

本项目中config既是spring相关配置的管理服务,又是整个产品配置参数的管理服务,所以需要在启动时就把git或者本地的配置文件提前加载起来,这样才能正常启动。如何在系统启动前就加载配置文件,这个是通过spring.cloud.server.bootstrap参数控制的,只需要设置为true即可。
如果我要在项目部署的时候使用本地差异化的配置该如何做呢?
spring cloud config提供了从本地磁盘读取配置的方法。由于此处使用了bootstrap模式,所以不能使用native模式启动 否则会报错。官方提供的方法是使用composite模式,整个配置文件如下:

spring:
  application:
    name: config-server
  profiles:
    active: composite,default # 如果要使用本地配置文件,此处需增加composite。多profile时,谁在前面谁的配置优先级就高
  cloud:
    config:
      server:
        bootstrap: true # 提前加载配置文件,保证后续数据库连接正常启动
        default-profile: default
        default-label: master
        composite: # 此配置为使用本地文件,与git脱离关系
        - type: native
          search-locations: file:C:/workspace/javaProjects/ai-cloud-conf/combat-center/
        git:
          uri: http://git.aixsj.com/aitensor/ai-cloud-conf.git
          search-paths: combat-center/
          username: config
          password: config2018
      fail-fast: true