需要用到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

jenkins自动打包部署linux的更多相关文章

  1. jenkins自动打包部署项目

    首先去jenkins的官网下载安装包 https://jenkins.io/   个人下载是长期稳定的那个版本,下载后,得到一个.msi的安装包: 点击进行安装,然后一直点击下一步. jenkins会 ...

  2. 解放双手 | Jenkins + gitlab + maven 自动打包部署项目

    前言 记录 Jenkins + gitlab + maven 自动打包部署后端项目详细过程! 需求背景 不会偷懒的程序员不是好码农,传统的项目部署,有时候采用本地手动打包,再通过ssh传到服务器部署运 ...

  3. 基于jenkins自动打包并部署Tomcat环境

    传统网站部署的流程 在运维过程中,网站部署是运维的工作之一.传统的网站部署的流程大致分为:需求分析->原型设计->开发代码->提交代码->内网部署->内网测试->确 ...

  4. DevOps系列——Jenkins/Gitlab自动打包部署

    前面只说了DevOps的两个基础组件Jenkins和GitLab,客官也不要着急,我们玩就玩的深入一点,Gitlab和Jenkins的各种配置和 插件很多,也够啃一阵子的,不要照着操作一通就感觉万事大 ...

  5. Jenkins结合shell脚本实现(gitLab/gitHub)前端项目自动打包部署服务器

    原始发布部署: 石器时代的我们,先是本地打包好项目,在去服务器上把原来的文件删了,然后回到本地copy到服务器: 这操看起来简单,实际部署的人就知道多烦了,假如来几个项目都要重新发布:那就爽了: 今天 ...

  6. 使用Docker+Jenkins自动构建部署

    环境 Windows 10 Docker Version 18.06.1-ce-win73 (19507) 运行jenkins 运行jenkins 容器 docker run -d --name ln ...

  7. Jenkins自动打包配置

    当时也是花费了不少时间来配置Jenkins自动打包的问题,觉得还是需要记录一下. 1.安装Jenkins,这个很简单,不需要多说. 2.下载Git Plugin,Gradle Plugin,Andro ...

  8. Android Jenkins自动打包纪录

    关于Jenkins自动打包Android的apk包,网上官方的太多,这里简单纪录一下博主的经历和打包的参数纪录 (本篇文章需要对Jenkins有最基本的基础了解) 博主所在公司曾负责app测试过程中发 ...

  9. Jenkins+maven+Tomcat+SVN一键自动打包部署应用到服务器

    今天请教了大神,终于把jenkins给搞明白了 现在做下笔记,防止自己老年痴呆又忘了怎么配置 (截图可能不够清晰,有不清楚的随时评论打call) 机器配置: 安装配置规划 机器 192.168.169 ...

随机推荐

  1. programming-languages学习笔记--第4部分

    programming-languages学习笔记–第4部分 */--> pre.src {background-color: #292b2e; color: #b2b2b2;} program ...

  2. linux 下 chkconfig安装与使用详解

    chkconfig 安装 开始的时候因为Raspbian的原因,系统是不自带chkconfig这个命令的, root@raspberrypi:~# chkconfig-bash: chkconfig: ...

  3. easyUi的一些常用方法

    目录: 1.获取表格的pageNumber和pageSize 2.获取/设置下拉列表的选中值 3.下拉列表的输入框的禁用 1.获取表格的pageNumber和pageSize var pageNumb ...

  4. iOS的AssetsLibrary框架访问所有相片

    该框架下有几个类,ALAssetsLibrary,ALAssetsGroup,ALAsset,ALAssetsFilter,ALAssetRepresentation. ALAssetsLibrary ...

  5. NodeJS平台下的前后端文件共享

    一.前后端文件共享的需要背景——为什么需要共享? 项目基本JS/NodeJS全端开发,有部分代码前后端都需要用得到 有一些配置是在前后端都需要用得到的 区别其他开发平台,NodeJS平台下的前后端文件 ...

  6. i2c 通信

    时间长了记忆就会模糊, 保存下逻辑分析抓到的图像, 什么时候需要可以看一眼. 当clk处于高电平时, data线有下降,说明开始传输, 有上升说明结束传输. 发送地址无回应: 发送地址有回应 正常数据 ...

  7. Android 把url生成二维码并贴到给定的底图上

    主要是用到了com.google.zxing jar包生成二维码的功能,这个jar包需要自己接下载 直接上代码 public static Bitmap CreateBinaryCodeImageBy ...

  8. 在Red Hat Enterprise Linux 7.3上安装SQL Server 2017

    必要条件: 1.在此快速安装过程中,您需要安装SQL Server 2017或SQL Server 2019上Red Hat Enterprise Linux (RHEL) 7.3 +.然后使用sql ...

  9. Android环境搭建及Ionic打包(win7)

    本人刚刚接触Ionic3,初步进行打包操作,将其遇到的问题和整个流程记录下载,方便以后的巩固,也为小白们提供一个参考.因本人没有appleヽ(ー_ー)ノ,而且使用的是WIN7系统,所以暂时只提供了WI ...

  10. mvc.net路由中带特殊字符如【.*/\】等时遇到的天坑

    用mvc.net的路由做网站伪静态时出现的天坑,自己一直没测试出来,竟然要靠客户被坑了后才知道 解决办法 参考https://stackoverflow.com/questions/16581184/ ...