1. 多环境个性化发布
spring boot项目在开发完成后,我们需要在不同的环境下发布,spring 本身也提供了–spring.profiles.active 参数来指定运行相应环境的配置,但在docker环境或k8s环境下运行,在CI/CD自动化打包发布情况下,我们不是很方便进行动态修改dockerfile或k8s yml文件中spring.profiles.active 参数,那如何解决这类情况下的多环境发布呢? 我们利用maven-resources-plugin插件动态修改resources下的相应配置文件中的spring.profiles.active 参数。达到多环境个性化发布的目的。
1.1 多环境打包说明
环境参数说明
以下面形式命名 application-{环境参数值}.yml
环境参数值 | 说明 |
---|---|
dev | 开发环境 |
test | 测试环境 |
pre | 预发环境 |
prod | 生产环境 |
打包示例
以mvn命令为例,在运行环境参数-P参数,如下列为test为测试环境
mvn clean package -DskipTests -P test
或界面指定发布环境
1.2 后端代码配置
pom.xml配置
无须修改文件在nonFilteredFileExtensions节点指定, 例如jwt.jks这类文件,如果不排除,会被修改,引起运行异常
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<configuration>
<nonFilteredFileExtensions>
<nonFilteredFileExtension>jks</nonFilteredFileExtension>
</nonFilteredFileExtensions>
</configuration>
</plugin>
</plugins>