jenkins自动打包部署linux

 

需要用到2个插件。

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

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

 

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

 

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

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

 

 

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

 

 

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

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

posted on 2019-03-28 13:58  乔叶叶  阅读(8075)  评论(0编辑  收藏  举报

导航