在idea中編寫自動拉取、編譯、啟動springboot項目的shell腳本


idea 開發環境搭建

idea中安裝shell開發插件

服務器具備的條件

  1. 已經安裝 lsof(用於檢查端口占用)
  2. 已安裝 git
  3. 安裝 maven
  4. 有 java 環境

背景

代碼提交到倉庫后,需要在服務器上重新部署 springboot 的代碼,每次自己打jar包上傳到服務器步驟太繁瑣,考慮把要使用的命令放在腳本中

初始化拉取指定分支的代碼

blog_int.sh

#!/usr/bin/env bash

cd /data/code/
git clone -b V3.0.0 git@github.com:daleyzou/blog.git

部署的代碼

deplog.sh

#!/usr/bin/env bash

cd /data/code/blog
echo '自動部署Springboot項目腳本...'
echo '1. 拉取代碼...'
git pull
echo '2. 檢查8000端口是否被占用...'
pid_blog=`lsof -i :8000|grep -v "PID"|awk '{print $2}'`
if [ "$pid_blog" != "" ];
then
    echo '8000端口被占用'
    echo $pid_blog
    kill -9 "$pid_blog"
    echo $pid_blog '進程已被殺死'
else
    echo "端口未被占用"
fi
echo '3. 刪除已有jar包...'
if [ ! -f "/data/jarDir/blog-1.0.1-SNAPSHOT.jar" ];then
echo "文件不存在"
else
rm -f /data/jarDir/blog-1.0.1-SNAPSHOT.jar
fi
echo '4. 清理原有項目...'
/data/usr/local/apache-maven/bin/mvn clean
echo '5. 打包...'
/data/usr/local/apache-maven/bin/mvn clean package -Dmaven.test.skip=true
echo '6. 將打包后的 jar 文件移動到指定目錄...'
mv /data/code/blog/target/blog-1.0.1-SNAPSHOT.jar /data/jarDir
echo '7. 后台運行jar包...'
nohup java -jar /data/jarDir/blog-1.0.1-SNAPSHOT.jar > /data/jarDir/log.out 2>&1 &
以后當代碼提交到倉庫后,直接執行 deploy.sh 就可以完成代碼的重新拉取、編譯、啟動操作


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM