一:spring boot 多环境配置文件

我们知道spring boot可以通过文件名来区分配置,如下:
application.yml
application-dev.yml #开发环境
application-test.yml #测试环境
application-prod.yml #正式环境

二:spring cloud多环境配置文件

但是spring cloud用上了配置中心,就一个boostrap.yml,且不支持文件名的方式来区分。
springcloud 配置中心bootstrap.yml区分环境的办法如下:
boostrap.yml文件内容:

spring:
  profiles:
    active: dev
  application:
    name: user-server
  swagger:
    api-title: 用户服务文档
    url-pattern: /api/base/**
feign:
  hystrix:
    enabled: true
springfox:
  documentation:
    swagger:
      v2:
        path: /base/docs/info
##上面是基础配置,不用上配置中心那种
##下面是环境区分,主要不同环境不同文件获取
---
#开发环境
spring:
  profiles: dev
  cloud:
    nacos:
      discovery:
        server-addr: localhost:8848
        namespace: c97d4f46-deba-5588-b05f-c2a061ccc688
      config:
        server-addr: localhost:8848
        file-extension: yaml
        group: DEFAULT_GROUP
        namespace: c97d4f46-deba-5588-b05f-c2a061ccc688
---
#正式环境
spring:
  profiles: prod
  cloud:
    nacos:
      discovery:
        server-addr: localhost:8848
        namespace: aa3de4c8-61ad-5568-9887-ed731659edd4
      config:
        server-addr: localhost:8848
        file-extension: yaml
        group: DEFAULT_GROUP
        namespace: aa3de4c8-61ad-5568-9887-ed731659edd4
---
#测试环境
spring:
  profiles: uat
  cloud:
    nacos:
      discovery:
        server-addr: localhost:8848
        namespace: 98adcdd5-f25c-7890-b8f3-97352adc83e8
      config:
        server-addr: localhost:8848
        file-extension: yaml
        group: DEFAULT_GROUP
        namespace: 98adcdd5-f25c-7890-b8f3-97352adc83e8

多个配置以  --- 分开,然后通过spring.profiles=环境表示具体的环境配置.。

三:java启动方式

启动时可以指定我们的服务器上面的运行引用配置如:

java -jar -Dspring.profiles.active=uat *****.jar
或者dockerfile启动方式
ENTRYPOINT ["java","-jar","-Dspring.profiles.active=uat","*****.jar"]
Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐