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

it2023-07-06  76

各服务版本如下:

jdk:1.8maven:3.6.3jenkins:2.261git: 2.1.1tomcat: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
最新回复(0)