进阶篇-SpringBoot2.x Maven多环境配置

1.本篇前言

在实际开发过程中,可能需要不断进行环境的切换和打包部署,通常我们会选择在 application.yml 中修改不同环境对应的配置文件,这种方式不仅效率低,而且很容易发生错误,造成不必要的麻烦降低工作效率。maven提供了多环境配置,可以方便实现不同环境的配置切换和打包

2. 项目实战

2.1 准备配置文件

通常我们在开发过程中分为开发,测试,生产环境,当然在某些公司还有更多比如预发布等环境。我们这里就以开发,测试,生产三个为例。

准备四个配置文件,分别是application.yml、application-dev.yml、application-test.yml、application-prod.yml。

application.yml作为主配置文件,里面定义了需要激活的环境,如下:

spring:
  application:
    name: springboot-multiple-env
  profiles:
    active: @profile.active@

application-dev.yml、application-test.yml、application-prod.yml分为对应开发,测试,生产三个环境配置。我们这里以不同环境的server.port端口不同为例,在示例开发中不同环境的数据库等配置都可以如此配置。
application-dev.yml

server:
  port: 8080

application-test.yml

server:
  port: 8081

application-prod.yml

server:
  port: 8082

##2.2 POM文件配置
maven中提供了profile的支持,每个profile能够定义自己的一些依赖和配置和激活条件,profile配置如下:

 
    
        
            
            dev
            
                
                true
            
            
                dev
            
        

        
        
            test
            
                test
            
        

        
        
            prod
            
                prod
            
        
    

    
        
            
                src/main/resources
                true
            
        
        
            
                org.springframework.boot
                spring-boot-maven-plugin
            
            
                org.apache.maven.plugins
                maven-resources-plugin
                
                    
                        @
                    
                    false
                
            
        
    

2.3 测试结果

如果是Idea开发,可以在此进行环境切换

通过切换环境,我们启动项目可以看到端口已经改变。

2.4 多环境maven打包

使用maven命令打包(推荐使用),配合shell脚本可实现自动部署。

mvn clean package -Dmaven.test.skip=true -P dev
mvn clean package -Dmaven.test.skip=true -P test
mvn clean package -Dmaven.test.skip=true -P prod



发表评论
留言与评论(共有 0 条评论) “”
   
验证码:

相关文章

推荐文章