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

2020-11-25 0 136

需要用到2个插件。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

遇见资源网 Linux Jenkins如何实现自动打包部署linux http://www.ox520.com/30510.html

常见问题

相关文章

发表评论
暂无评论
官方客服团队

为您解决烦忧 - 24小时在线 专业服务