企業級-Shell案例15——自動發佈Java項目(Tomcat)

自動發佈Java項目(Tomcat)

需求:java

代碼已經到版本倉庫,執行shell腳本一鍵部署git

流程步驟:github

java --> jar/war  --> tomcat/resin       jar-jarweb

腳本編寫

#!/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
   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
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

相關博文:

 企業級-Shell案例1——服務器系統配置初始化

企業級-Shell案例2——發送告警郵件

企業級-Shell案例3——批量建立多個用戶並設置密碼

企業級-Shell案例4——一鍵查看服務器利用率

企業級-Shell案例5——找出佔用CPU 內存太高的進程

企業級-Shell案例6——查看網卡的實時流量

企業級-Shell案例7——監控多臺服務器磁盤利用率腳本

企業級-Shell案例8——批量檢測網站是否異常並郵件通知

企業級-Shell案例9——批量主機遠程執行命令腳本

企業級-Shell案例10——一鍵部署LNMP網站平臺腳本

企業級-Shell案例11——監控MySQL主從同步狀態是否異常腳本

企業級-Shell案例12——MySql數據庫備份腳本

企業級-Shell案例13——Nginx訪問日誌分析

企業級-Shell案例14——Nginx訪問日誌自動按天(周、月)切割

企業級-Shell案例15——自動發佈Java項目(Tomcat)

企業級-Shell案例16——自動發佈PHP項目

企業級-Shell案例17——DOS攻擊防範(自動屏蔽攻擊IP)

企業級-Shell案例18——目錄入侵檢測與告警

相關文章
相關標籤/搜索