maven/spring boot項目自動部署腳本

1. 前提

  1. 安裝Java環境
  2. 安裝配置Maven3 環境
  3. 安裝Git環境
  4. Linux系統,我當前使用的腳本環境是CentOS8

2. 說明

  1. 第一部分是首先殺死該Java服務對應的端口,也就是jar文件運行的端口
  2. 第二部分就是更新本地的文件,從Git上面拉取
  3. 第三部分就是調用Maven編譯構建jar文件
  4. 第四部分就是將文件拷貝到實際的運行目錄中,然後後臺運行

3. 腳本文件

#! /bin/bash

##總說明
##編譯該項目併發布到指定目錄下
##運行改腳本請使用 sh -x build_prod.sh 或者 ./build_prod.sh
##如果出現權限不夠 請使用 chmod +x build_prod.sh

#殺死8888對應的端口進程
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}秒--------------------"

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章