各服务版本如下:
- jdk:1.8
- maven:3.6.3
- jenkins:2.261
- git: 2.1.1
- 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