背景:
运维提出以后会有多套环境,自动化接口测试将会是一套代码在多个服务器环境上跑。需要根据jenkins的命令,实现发布多套环境。
首先搜索到的是maven项目的多环境切换,但是帖子都只有怎么配置多环境。具体java代码里怎么读到环境参数却是没提。后来又搜索java代码怎么读取pom的环境配置,以及怎么替换当前环境,终于把整个流程串下来了,记录如下。
思路:jenkins参数化构建,传递环境参数给maven过滤器, maven pom文件利用profiles结点配置多环境, filters节点过滤环境。resource下的配置文件application-maven.properties
用来存放环境切换后的相关的参数,然后写个工具类读取此文件里的各参数配置。
1. pom.xml
在 build 节点下配置过滤器
<build>
<resources>
<resource>
<directory>src/main/resources</directory>
<filtering>true</filtering>
<!--扫描替换参数的文件路径-->
</resource>
</resources>
<filters>
<filter>src/main/filters/filter-${env}.properties</filter>
<!--环境过滤器的配置方式,回头需要在该路径下建立对应文件-->
</filters>
</build>
build节点下配置properties如下:
<build>
<