Jenkins自动部署,mvn不同的环境打包配置
今天看了个问题,就是在Jenkins里如何根据不同的环境发布代码。
我本地的代码环境有,开发环境、测试环境、预发布环境和线上环境。
基于项目的风险控制,安全控制,我只有开发环境和测试环境的权限,所以我通过Jenkins将代码部署到测试环境上。
1、先判断java-web下的pom文件,查看pom文件下不同环境的配置情况
<profiles></profiles>里我们可以看到三个<profile>的配置,即三种不同的配置环境
<id>:表示不同配置环境下的名称,即标识
<properties>:自定义的一些属性,可有可无
<.resource_path>:相当于profile环境下属性文件的目录
${project.basedir}:表示占位符
<activation>
<activeByDefault>true</activeByDefault>
</activation> :表示默认配置
2、Jenkins Build配置
找到Build,根据pom文件的profiles内容配置测试环境的地址,注意(上方截图红线标识是代表预发布环境的配置),而我需要对测试环境进行配置,命令应该是 :
clean package -P test
test是我的测试环境的id,到此配置完成。
3、Jenkins自动部署验证配置文件是否起到效果
判断是否成功的部署成功一般分两个步骤,
1、在本地选择测试环境,使用maven project进行编译打包,编译打包成功之后查看项目java-web下的target文件 步骤 target - classes - spring-config.xml,如图
1选择test测试环境,2选择clean和package进行编译打包,3生成编译后的文件,4查看文件地址是否是测试环境引入的配置地址。
2、在Jenkins发布成功后,在测试机器上找到版本发布的tags目录,tags目录下的文件是这样的
打包生成的是以时间日期的目录
在生成的目录文件里cd 202004131653 找到java-web目录,进入target下找到classes进入,打开spring-config.xml文件
找到
确认Jenkins发布后的value里对应的值和本地生成的值是否一致,一致即标识环境部署成功。