1. 前提
- 安裝
Java
環境
- 安裝配置
Maven3
環境
- 安裝
Git
環境
Linux
系統,我當前使用的腳本環境是CentOS8
2. 說明
- 第一部分是首先殺死該
Java
服務對應的端口,也就是jar
文件運行的端口
- 第二部分就是更新本地的文件,從
Git
上面拉取
- 第三部分就是調用
Maven
編譯構建jar
文件
- 第四部分就是將文件拷貝到實際的運行目錄中,然後後臺運行
3. 腳本文件
#! /bin/bash
d=`date "+%Y-%m-%d %H:%M:%S"`
st=`date -d "${d}" +%s`
echo "--------------------當前日期:${d}--------------------"
echo "--------------------拉取項目--------------------"
cd /first/application/projects/collapse-service
git pull origin master
echo "--------------------拉取項目完成...--------------------"
port=82
echo "--------------------端口:${port}--------------------"
java_ps_id=$(netstat -nlp | grep :${port} | awk '{print $7}' | awk -F"/" '{ print $1 }')
echo "--------------------Java進程id:${java_ps_id}--------------------"
if((java_ps_id>0)); then
echo "-------------------->>殺死java進程:${java_ps_id}"
kill -9 ${java_ps_id}
fi
jar_name="start-1.0-SNAPSHOT.jar"
echo "--------------------jar名稱:${jar_name}"
jar_target="/first/application/projects/collapse-service/core-start/target/"
echo "--------------------jar目錄:${jar_target}"
jar_product="/first/application/server/collapse-service"
echo "--------------------生產目錄:${jar_product}"
mvn_exec="/first/application/projects/collapse-service/core-parent/"
echo "--------------------mvn執行路徑:${mvn_exec}"
echo "--------------------開始構建項目--------------------"
cd ${mvn_exec}
mvn clean package
echo "--------------------完成構建項目--------------------"
echo "--------------------開始清除發佈目錄文件--------------------"
cd ${jar_product}
for file in ${jar_product}/*; do
fileName=${file
if [[ ${fileName} == *log* ]]; then
echo "-------------------->跳過:${jar_product}${fileName}"
else
echo "-------------------->刪除:${jar_product}${fileName}"
rm -rf "${jar_product}${fileName}"
fi
done
echo "--------------------清除發佈目錄文件完成--------------------"
echo "--------------------複製文件--------------------"
cp -rf "${jar_target}${jar_name}" ${jar_product}
d=`date "+%Y-%m-%d %H:%M:%S"`
ed=`date -d "${d}" +%s`
tt=$[ed-st]
fen=0
second=${tt}
if((tt>60));then
fen=$[tt/60]
second=$((tt%60))
fi
echo "--------------------啓動java程序--------------------"
cd ${jar_product}
nohup java -jar ${jar_name} > log.file 2>&1 &
echo "--------------------完成:${d}--------------------"
echo "--------------------耗時:${fen}分${second}秒--------------------"