jenkins + git + maven + shell方式重启jenkins同服务器下tomcat(附脚本)

本文详细介绍如何通过Jenkins实现持续集成与自动化部署的过程。包括配置Jenkins环境、安装必要插件、设置Maven和Git等工具,以及创建Maven项目进行自动化构建和部署。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

各服务版本如下:

  1. jdk:1.8
  2. maven:3.6.3
  3. jenkins:2.261
  4. git: 2.1.1
  5. tomcat:8.0+

一:官网下载jenkins war包部署到tomcat(略)
官网地址:https://jenkins.io/download/

下载
在这里插入图片描述

二:访问jenkins,安装相关插件
2.1 地址:

http://ip:port/jenkins

2.2 安装相关插件

mvn插件:Maven Integration:

在这里插入图片描述

git插件:GitLab

在这里插入图片描述

shell插件:Publish over SSH

在这里插入图片描述

tomcat插件:Deploy to container
(这里提示下:本次使用是脚本启动tomcat,实际未用到此插件)

在这里插入图片描述

三 maven配置

3.1.服务器安装maven并配置环境变量(略)

3.2.配置到jenkins后台中:

Global Tool Configuration:
在这里插入图片描述
在这里插入图片描述

四 git配置

4.1 服务器安装git(略)

4.2 配置到jenkins后台中:

Global Tool Configuration:在这里插入图片描述

五 安装JDK

5.1.服务器安装jdk(略)

5.2配置到jenkins后台中:

Global Tool Configuration:在这里插入图片描述

六 配置jenkins location

jenkins location
在这里插入图片描述

七 相关凭据配置

配置
在这里插入图片描述

这里说明主要配置
下面步骤后续配置会使用到,也可跳过,后续用到再配置

7.1 tomcat配置

Username Password
在tomcat安装路径下config-tomcat-users.xml中加入如下配置 重启tomcat生效

<role rolename="admin-gui"/>
  <role rolename="manager-gui"/>
  <role rolename="manager-script"/>
  <user username="zhaozhen" password="zhaozhen" roles="admin-gui,manager-gui,manager-script"/>

7.2 git配置

username及私匙
linux 生成秘匙自行百度,将私匙复制进来即可

八 创建maven项目

8.1 关联git

Credentials列即为git username&私匙
在这里插入图片描述

8.2 设置构建成功后的启动脚本

此脚本功能简述:
①查找目标tomcat进程pid kill
②删除tomcat webapp下war包及tomcat自动解压文件
③复制jenkins从git拉取并maven打包的war包到tomcat webapp下
④启动tomcat
注意:脚本里有一行重要设置
export BUILD_ID=dontkillme
因jenkins build成功后会kill相关进程,此行作用防止本进程被kill,导致tomcat启动失败
在这里插入图片描述

脚本如下(/opt/tomcat.sh)
脚本中的路径对应修改即可使用

export BUILD_ID=dontkillme
tomcat_home=/opt/apache-tomcat-8.5.57_8080
# 停止tomcat变量
SHUTDOWN=$tomcat_home/bin/shutdown.sh
#启动tomcat变量
STARTTOMCAT=$tomcat_home/bin/startup.sh

#得到进程ID 这里也可以简写 如果你ps -ef|grep 项目名称
#PID=`ps -ef |grep 项目名称  |grep -v grep | awk '{print $2}'`
PID=`ps -ef |grep /opt/apache-tomcat-8.5.57_8080/conf |grep -v grep | awk '{print $2}'`
  if [ ! "$PID" ];then 
# 这里判断TOMCAT进程是否存在
        echo "进程不存在"
        else
        echo "进程存在 杀死进程PID$PID"
        kill -9 $PID
        fi

#删除war包
rm -rf /opt/apache-tomcat-8.5.57_8080/webapps/zza-demo-war*
#复制新构建的war包到tomcat webapps 下
cp /root/.jenkins/workspace/zza-demo-mvn/target/zza-demo-war.war /opt/apache-tomcat-8.5.57_8080/webapps/
#启动tomcat
$STARTTOMCAT
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值