在实际开发过程中,可能需要不断进行环境的切换和打包部署,通常我们会选择在 application.yml 中修改不同环境对应的配置文件,这种方式不仅效率低,而且很容易发生错误,造成不必要的麻烦降低工作效率。maven提供了多环境配置,可以方便实现不同环境的配置切换和打包
通常我们在开发过程中分为开发,测试,生产环境,当然在某些公司还有更多比如预发布等环境。我们这里就以开发,测试,生产三个为例。
准备四个配置文件,分别是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: 8080application-test.yml
server:
port: 8081application-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
如果是Idea开发,可以在此进行环境切换
通过切换环境,我们启动项目可以看到端口已经改变。
使用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 条评论) “” |