Shell腳本 自動部署 SpringBoot 應用
- # 上傳密鑰
- sshLoginKey=/f/MyFile/root.key
- # 項目在本機的目錄
- MyProject=/d/MyProject/comment
-
- # 遠程主機上的路徑
- RemoteHost=root@domainName.com
- RemotePath=$RemoteHost:/data/
-
- if [ -f "$sshLoginKey" -a -d "$MyProject" ];then
- cd $MyProject
- # 只輸出錯誤
- mvn clean package -q
- # 查找target目錄中,最近1分鐘內打包的文件。爲了腳本通用性,不指定文件名。藉助find 查找。
- fileName=$(find target -maxdepth 1 -type f -size +20M -regex "target/\w+\.[jw]ar" -cmin -1) if [ -e "$fileName" ];then
- echo "打包成功"
- -i $sshLoginKey $fileName $RemotePath;
- ];then
- echo "上傳成功。";
- # 中止服務
- $RemoteHost -i $sshLoginKey "ps -ef | awk '\$NF~/comment/{print \$2}' | xargs kill -9 "
-
- # 啓動服務
- # $RemoteHost -i $sshLoginKey "/root/jdk1.8.0_152/bin/java -jar /data/comment.jar 2>&1 >/var/log/comments.log &"
- else
- echo "上傳失敗。";
- fi
- else
- echo "打包失敗"
- exit
- fi
-
- if [ -f "$fileName" ];then
- rm -rf $fileName
- fi
- else
- echo "密鑰或項目不存在";
- sleep 5s;
- fi
歡迎關注本站公眾號,獲取更多信息