1. 背景
掌握项目的部署方式,学会搭建devops必然是架构师的必备技能
2. 准备事项
2.1 linux 安装 git
yum install git, linux机器git clone无响应或timeout ,或者速度慢?
linux机器 安装maven 参考phpsdk.cn/plug/news/s…
3. 使用
#! /bin/bash
DATE=$(date +%F_%T)
TOMCAT_NAME=$1
TOMCAT_DIR=/usr/local/$TOMCAT_NAME
#网站的根目录
ROOT=$TOMCAT_DIR/webapps/ROOT
BACKUP_DIR=/data/backup
WORK_DIR=/tmp
PROJECT_NAME=tomcat-java-demo
#拉取代码和构建
cd $WORK_DIR
if [ ! -d $PROJECT_NAME ]; then
echo "begin to clone project......"
git clone https://github.com/lizhenliang/tomcat-java-demo.git
cd $PROJECT_NAME
else
cd $PROJECT_NAME
echo "begin to pull project......"
git pull
fi
#构建
echo "begin to package........."
mvn clean package -Dmaven.test.skip=true
if [ $? -ne 0 ]; then
echo "maven build failure"
exit 1
fi
# 部署
TOMCAT_PID=$(ps -ef | grep "$TOMCAT_NAME" | egrep -v "grep|$$" | awk 'NR==1{print $2}')
[ -n "$TOMCAT_PID" ] && kill -9 $TOMCAT_PID
[ -d $ROOT ] && mv $ROOT $BACKUP_DIR/${TOMCAT_NAME}_ROOT$DATE
unzip $WORK_DIR/$PROJECT_NAME/target/*.war -d $ROOT
$TOMCAT_DIR/bin/startup.sh
echo "finished done......"