jenkins打包部署linux Jenkins怎样实现自动打包部署linux
乔叶叶 人气:0需要用到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
加载全部内容