欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  网络运营

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

程序员文章站 2022-03-15 11:49:17
需要用到2个插件。git parameter:用于参数化构建时选择分支。publish over ssh:用于上传jar包和操作tomcat1.先在系统设置添加要连接的linux服务器,使用用户名和密...

需要用到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,里面参数的配置参考:

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

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