【运维部署】Maven + Jenkins实现Springboot多环境动态部署
Maven + Jenkins实现springboot多环境动态部署前置说明本文多环境部署仅仅通过profile实现功能,对其他方面没有过多探究。流程步骤一、maven方面配置配置POM.xml二、springboot项目配置根据不同环境创建不同的application-xxx.properties文件配置application.properties文件三、j...
·
Maven + Jenkins实现springboot多环境动态部署
前置说明
本文多环境部署仅仅通过profile实现功能,对其他方面没有过多探究。
流程步骤
一、maven方面配置
- 配置POM.xml
二、springboot项目配置
- 根据不同环境创建不同的application-xxx.properties文件
- 配置application.properties文件
三、jenkins方面配置
- 在jenkins中配置mvn构建指令
代码示例
一、maven配置
<!-- maven多环境打包-->
<profiles>
<!--开发环境-->
<profile>
<id>dev</id>
<properties>
<profile.active>dev</profile.active>
</properties>
<!--没有mvn指令指定时,默认所属环境-->
<activation>
<activeByDefault>true</activeByDefault>
</activation>
</profile>
<!--生产环境-->
<profile>
<id>prod</id>
<properties>
<profile.active>prod</profile.active>
</properties>
</profile>
<!--测试环境-->
<profile>
<id>test</id>
<properties>
<profile.active>test</profile.active>
</properties>
<activation>
<activeByDefault>false</activeByDefault>
</activation>
</profile>
</profiles>
二、springboot项目配置
1、对应多环境创建不同properties配置文件
2、application.properties配置
# 注意:这里的profile.active对应之前pom.xml中profile.active标签。
spring.profiles.active=@profile.active@
三、jenkins配置
其中install -Pxxxxx,后面根据不同字段(prod,dev,test)来确定读取哪一个application-xxxx配置文件。
tips
在pom.xml文件中可以根据 < finalName > 标签来生成自己想要的 jar 包名。
这样可以通过包名来简单判断是否读取正确的 < profile > 标签。
代码示例
<build>
<!--根据环境生成jar包名称-->
<finalName>
<!--注意要引用正确的profile.active标签-->
${artifactId}-${version}-${profile.active}
</finalName>
</build>
更多推荐
已为社区贡献1条内容
所有评论(0)