0%

SpringBoot maven 配置多环境部署

在实际项目开发中,线上数据和开发测试的环境不可能是一样的,不然每次上线还要进行删除测试数据,而进行版本迭代的时候,开发人员可以之间操作线上用户数据进行开发,作为一个开发人员,你觉得这样合理吗?
针对上面的问题,在实际项目开发过程中,一般就会出现不同的开发环境,比如有开发环境,测试环境,线上环境。但是对于一些中小型公司来说,其实数据库、Redis什么的,只需要两套,一套是线上正式环境,一套开发测试环境。

SpringBoot

对于SpringBoot来说,进行多环境开发配置,很简单的,看下面的:

通过修改配置文件的命名,在application.yml中选择自己需要加载那那个配置文件。并在相对于的配置文件中加入下面的配置。

1
2
project:
name: production

注意: application.yml中的名字必须和你命名的配置问价后面部分相同。

1
2
3
4
## 配置正式和测试库,分别是production/test
spring:
profiles:
active: test

对于启动jar包,选择不同的配置环境:

1
java -jar <jar包> --spring.profiles.active=test/production

使用maven来进行配置多环境部署

下面是使用maven来配置不同的环境。

现在pom文件中添加自己需要的哪几种配置环境,别的配置文件和上面类似,只是在application.yml文件中不在需要手动去修改环境变量。

这样只需要在打包的时候,通过下面的打包命令,来生成相对于的war/jar包就可以了。

1
2
3
mvn clean package -P(对应的环境的id,要把括号去掉且是紧挨着大写的P)
比如:
mvn clean package -Pproduction

源码

GitHub项目

客官,赏一杯coffee嘛~~~~