jenkins+tomcat+maven+git自动打包部署linux

博客地址:http://www.cnblogs.com/qiaoyeye/

 

需要用到2个插件。

git parameter:用于参数化构建时选择分支。

Publish Over SSH:用于上传jar包和操作tomcat

 

1.先在系统设置添加要连接的linux服务器,使用用户名和密码验证,不需要私钥和公匙。并在高级里点击test是否成功

jenkins+tomcat+maven+git自动打包部署linux

 

2.新建maven的job,添加参数化构建

jenkins+tomcat+maven+git自动打包部署linux

3.选择git,git的分支选择步骤2的name

jenkins+tomcat+maven+git自动打包部署linux

 

 

4.maven命令输入打包install -Dmaven.test.skip=true -Ujenkins+tomcat+maven+git自动打包部署linux

 

 

5. 添加over ssh,里面参数的配置参考:https://www.cnblogs.com/zz0412/p/jenkins_jj_10.html

jenkins+tomcat+maven+git自动打包部署linux

6.我是先把jar或者war上传到BUILD_ID的备份目录(项目多的话,也可以在增加下$JOB_NAME/$BUILD_ID),然后又把jar复制到tomcat下,Exec command详见操作命令

jenkins+tomcat+maven+git自动打包部署linux
#!/bin/sh
#kill tomcat pid
export BUILD_ID=$BUILD_ID

1.关闭tomcat

pidlist=ps -ef|grep 8081|grep -v "grep"|awk '{print $2}'
function stop(){
if [ “$pidlist” == “” ]
then
echo “----tomcat 已经关闭----”

else
echo “tomcat进程号 :$pidlist”
kill -9 $pidlist
echo “KILL $pidlist:”
fi
}

stop
pidlist2=ps -ef|grep 8081|grep -v "grep"|awk '{print $2}'
if [ “$pidlist2” == “” ]
then
echo “----关闭tomcat成功----”
else
echo “----关闭tomcat失败----”
fi

2.移除原来tomcat中webapps中的项目文件夹

rm -rf /usr/local/apache-tomcat-8081/webapps/ROOT/*
rm -rf /usr/local/apache-tomcat-8081/webapps/qingzhutool*

3.复制jenkins生成的war包到tomcat中webapps中

cp -r /home/war-jar-bak/$BUILD_ID/qingzhutool.jar /usr/local/apache-tomcat-8081/webapps
sleep 3s

4.修改war包的名称

#mv /usr/local/tomcat_mobile/webapps/mobile.war /usr/local/tomcat_mobile/webapps/ROOT.war

5.启动tomcat

cd /usr/local/apache-tomcat-8081/bin
sh startup.sh

jenkins+tomcat+maven+git自动打包部署linux

最后执行sh的时候可能提示没权限,进入tomcat,给sh文件赋权限即可

chmod +x *.sh