Jenkins如何实现自动打包部署linux

需要用到2个插件。

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

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

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

Jenkins如何实现自动打包部署linux_第1张图片

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

Jenkins如何实现自动打包部署linux_第2张图片

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

Jenkins如何实现自动打包部署linux_第3张图片

4.maven命令输入打包install -Dmaven.test.skip=true -U

Jenkins如何实现自动打包部署linux_第4张图片

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

Jenkins如何实现自动打包部署linux_第5张图片

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

#!/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

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

chmod +x *.sh

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

你可能感兴趣的:(Jenkins如何实现自动打包部署linux)