#首先部署jdk,apache-tomcat,git,maven环境
jdk安装地址:https://www.cnblogs.com/mrfo/p/10223277.html
apache-tomcat安装地址:wget https://mirror.bit.edu.cn/apache/tomcat/tomcat-8/v8.5.61/bin/apache-tomcat-8.5.61.tar.gz
yum -y install git
yum -y install unzip
maven安装地址:wget https://mirrors.bfsu.edu.cn/apache/maven/maven-3/3.6.3/binaries/apache-maven-3.6.3-bin.tar.gz
#创建一个备份目录
mkdir -p /data/backup

配置jdk以及maven的环境变量
cat /etc/profile
export JAVA_HOME=/usr/local/jdk1.8
export PATH=$PATH:$JAVA_HOME/bin:/usr/local/maven3.6/bin

#!/bin/bash
#获取当前的时间
DATE=$(date +%F_%T)
#tomcat名称,也就是/usr/local/tomcat,这里的tomcat取名为tomcat(实际环境可能有多个tomcat实例,根据tomcat的唯一名称来进行传参)
TOMCAT_NAME=$1
#tomcat安装目录
TOMCAT_DIR=/usr/local/$TOMCAT_NAME
#tomcat网站根目录
ROOT=$TOMCAT_DIR/webapps/ROOT
#数据备份到/data/backup这个目录下
BACKUP_DIR=/data/backup
#临时去拉代码工作的目录
WORK_DIR=/tmp
#项目名称,github指定的名称
PROJECT_NAME=tomcat-java-demo

# 拉取代码
#切到临时目录下
cd $WORK_DIR
#判断当前下有没有项目名称目录,那么没有就会去github克隆项目到当前目录
if [ ! -d $PROJECT_NAME ]; then
git clone https://github.com/lizhenliang/tomcat-java-demo
#切到项目名称目录
cd $PROJECT_NAME
else
cd $PROJECT_NAME
#否则有的话,就去增量拉取
git pull
fi

# 构建
mvn clean package -Dmaven.test.skip=true
#判断当前maven是否构建成功,如果上一条命令执行失败,也就是非0,那么就退出当前脚本
if [ $? -ne 0 ]; then
echo "maven build failure!"
exit 1
fi

# 部署
#获取tomcat的pid egrep取反
TOMCAT_PID=$(ps -ef |grep "$TOMCAT_NAME" |egrep -v "grep|$$" |awk 'NR==1{print $2}')
#如果tomcat的pid不为空,也就是tomcat是启动的,那么就(kill)杀死它
[ -n "$TOMCAT_PID" ] && kill -9 $TOMCAT_PID
#判断tomcat的网站根目录ROOT有没有在,有的话移动到备份目录/data/backup这个目录下,起名格式为(tomcat名称加ROOT加时间)
[ -d $ROOT ] && mv $ROOT $BACKUP_DIR/${TOMCAT_NAME}_ROOT$DATE
#通过unzip命令解压临时目录/tmp下的项目名称目录下的target目录下的war包 到网站根目录
unzip $WORK_DIR/$PROJECT_NAME/target/*.war -d $ROOT
#最后启动tomcat
$TOMCAT_DIR/bin/startup.sh


#执行脚本
#./15.sh tomcat
访问:
#tomcat默认端口8080
http://192.168.1.2:8080