Jenkins+maven动态打包配置文件

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Jenkins+maven动态打包配置文件相关的知识,希望对你有一定的参考价值。

下面两个maven打包仓库配置可以根据需求选择配置
Maven根据不同个环境打包, 获取不同的配置文件等
https://my.oschina.net/vernon/blog/271970
动态打包配置文件参考
https://blog.csdn.net/huangchao064/article/details/73616320

可以发现里面已经里面已经定义来pom.xml,我们直接用就可以了
https://github.com/bingyue/easy-springmvc-maven

创建一个maven项目的maven(maven):
技术分享图片
创建完后,我们就可以看到我们新建的General
点击“源码管理“ 指定我们的git地址
技术分享图片
构建触发:
技术分享图片
找到Post Steps勾选第二个选项,再选择Execute shell:
技术分享图片
选择:Execute shell,添加关于war直接部署脚本, 直接推送到远程即可。
技术分享图片
相关脚本
#!/bin/bash
#copy file and restart tomcat2
tomcat_path=/usr/local/tomcat
project=easy-springmvc-maven
war_name=easy-springmvc-maven.war
war_path=http://192.168.254.134:8080/jenkins/job/jeekins-test/ws/target
server_port=8082
file_path=/home/bingyue/.jenkins/jobs/jeekins-test/workspace/target
now=$(date +"%Y%m%d%H%M%S")
echo "the shell execute time is ${now}"
echo lsof -n -P -t -i :${server_port}
tomcat_pid=lsof -n -P -t -i :${server_port}
echo "the tomcat_pid is ${tomcat_pid}"
if [ "${tomcat_pid}" != "" ]; then
kill -9 $tomcat_pid
echo "kill the server"
fi
echo "rm ${tomcat_path}/webapps/${war_name}"
rm ${tomcat_path}/webapps/${war_name}
echo "rm -rf ${tomcat_path}/webapps/${project}"
rm -rf ${tomcat_path}/webapps/${project}
cd $file_path
if [ -f ${war_name} ]; then
cp ${war_name} ${tomcat_path}/webapps
else
echo "${war_name} unexists"
fi
export JAVA_HOME=/data/jdk7
export CATALINA_HOME2=/usr/local/apache-tomcat-2
export CATALINA_BASE2=/usr/local/apache-tomcat-2
$tomcat_path/bin/startup.sh
echo "server restarted"

然后我们的war就部署完成了。
启动maven项目,看看是否可以启动成功。我这里已经是可以启动成功了的。
技术分享图片

以上是关于Jenkins+maven动态打包配置文件的主要内容,如果未能解决你的问题,请参考以下文章

Jenkins——持续集成及Jenkins介绍和安装配置(插件,用户权限,凭据,Maven安装打包,配置tomcat用户权限)

Jenkins——Jenkins介绍+基于云平台的Jenkins安装和持续集成环境配置(插件+用户权限+凭据+Maven打包)

jenkins+git+maven 增量部署思路以及相关脚本

jenkins打包发布maven项目

Jenkins——Jenkins 构建Maven项目(三种风格的项目构建自由风格Maven风格Pipeline流水线风格)

Jenkins——持续集成介绍及Jenkins安装部署(插件+用户权限+凭据+Maven打包)