溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

使用Linux腳本自動打包發(fā)服務(wù)

發(fā)布時間:2021-06-03 17:47:05 來源:億速云 閱讀:240 作者:Leah 欄目:開發(fā)技術(shù)

這篇文章給大家介紹使用Linux腳本自動打包發(fā)服務(wù),內(nèi)容非常詳細(xì),感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。

內(nèi)容如下:

#自定義存放的地方
#文件存放的根目錄
latestDir=/home/xnj
#jar包名字
jarName=swWeb.jar
#前端壓縮包文件名
qdZipName=Desktop.zip
#前端tomcat的位置
qdTomcatPosition=/home/tomcat/apache-tomcat-8.5.43/webapps/ROOT
#腳本存放的位置
jbFilePosition=/home/jb
#結(jié)束
#年
year=KaTeX parse error: Expected 'EOF', got '#' at position 12: (date +%Y) #?月 month=(date +%Y%m)
#日
day=KaTeX parse error: Expected 'EOF', got '#' at position 17: …date +%Y%m%d); #?時分秒 hms=(date +%H%M%S)
#當(dāng)前目錄
currentDir=$(pwd)
#cd到當(dāng)前目錄
cd $jbFilePosition
#創(chuàng)建年目錄
if [ ! -d $latestDir ]; then
mkdir $latestDir
fi
if [ ! -d latestDir/ latestDir/latestDir/year ]; then
mkdir latestDir/ latestDir/latestDir/year
fi
if [ ! -d latestDir/ latestDir/latestDir/year/$month ]; then
mkdir latestDir/ latestDir/latestDir/year/$month
fi
if [ ! -d latestDir/ latestDir/latestDir/year/month/ month/month/day ]; then
mkdir latestDir/ latestDir/latestDir/year/month/ month/month/day
fi
if [ ! -d latestDir/ latestDir/latestDir/year/month/ month/month/day/$hms ]; then
mkdir latestDir/ latestDir/latestDir/year/month/ month/month/day/KaTeX parse error: Expected 'EOF', got '#' at position 9: hms fi #?將當(dāng)前目錄的下的jar包和前端…jarName latestDir/ latestDir/latestDir/year/month/ month/month/day/hmscp?r./ hmscp -r ./hmscp?r./qdZipName latestDir/ latestDir/latestDir/year/month/ month/month/day/$hms
#殺掉進(jìn)程 awk是 是處理行數(shù)據(jù)的 xargs 是多個命令的連接的管道
ps -ef | grep $jarName | grep -v grep | awk ‘{print $2}' | xargs kill -9
#刪除前臺工程
rm -rf qdTomcatPosition/ qdTomcatPosition/qdTomcatPosition/qdZipName
rm -rf $qdTomcatPosition/static
rm -rf KaTeX parse error: Expected 'EOF', got '#' at position 29: …ion/index.html #?加載新前臺工程 cp -r .…qdZipName $qdTomcatPosition/
cd qdTomcatPositionunzip./ qdTomcatPositionunzip ./qdTomcatPositionunzip./qdZipName
#啟動新的jar包
nohup java -jar latestDir/ latestDir/latestDir/year/month/ month/month/day/hms/ hms/hms/jarName >nohup.out &

ps:服務(wù)器自動打包發(fā)布shell腳本

腳本功能簡介

  • 自動拉取Git服務(wù)器最新代碼

  • 服務(wù)器maven自動打包

  • 自動重啟發(fā)布jar項目

  • nohup 啟動項目后保存進(jìn)程號至文件

前置條件

  • Git可用

  • maven可用

  • spring boot打成jar包可以正常啟動

腳本內(nèi)容

#!/bin/sh
echo " ====開始拉取倉庫最新代碼==== "
cd /data/code/better;pwd;
git pull;git status;
echo "   "
git log --pretty=format:"%h - %an, %ar : %s" -5;
echo " ====服務(wù)器打包===="
mvn install -Dmaven.test.skip=true;
mvn clean package -Dmaven.test.skip=true;
echo " ====移動jar包并改名===="
cd /data/app;pwd;
cp /data/code/better/backend_web/target/backend_web-1.0-SNAPSHOT.jar /data/app;
mv backend_web-1.0-SNAPSHOT.jar better.jar;
echo " =====停止Java應(yīng)用======"
#jps | grep better.jar | awk '{print $1;}' | xargs kill -9
kill -9 `cat /data/app/betterPid.txt`
echo " =====啟動Java應(yīng)用======"
nohup java -jar better.jar >/data/logdir/better/out.log & echo $! > /data/app/betterPid.txt &
#查看日志
echo "   "
echo " ===啟動項目的進(jìn)程號====";
cat /data/app/betterPid.txt;
tail -20f /data/logdir/better/out.log;

關(guān)于使用Linux腳本自動打包發(fā)服務(wù)就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學(xué)到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI