idea 開發環境搭建
服務器具備的條件
- 已經安裝 lsof(用於檢查端口占用)
- 已安裝 git
- 安裝 maven
- 有 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 就可以完成代碼的重新拉取、編譯、啟動操作