寫在前面的話
這裏是一個在Linux
環境上,使用Git
+Maven
實現Spring Boot
項目的快捷部署和啓動的腳本,推薦給JavaEE開發和運維同學們。
乾貨
- 在項目跟路徑上新建一個 deploy.sh文件
vim deploy.sh
- 把這段腳本改吧改吧黏貼進去
dir=/data/demo-api
port=8899
project=demo-api
version=1.0.0.BETA
cd $dir
git pull origin mining
mvn clean package -Dmaven.test.skip=true
if [ -f $dir/target/*.jar ];then
# CentOS
# pid=`/usr/sbin/lsof -n -P -t -i:$port`
# Ubuntu
pid=`/usr/bin/lsof -n -P -t -i:$port`
echo "PID:"$pid
[ $pid ] && kill $pid
echo "waiting..."
nohup java -jar -Xms256m -Xmx1024m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=512m $dir/target/$project-$version.jar > $project.out &
tail -f $project.out
else
echo "deploy fail!"
fi
dir
是項目跟路徑,就是clone完成後的.git、src和pom.xml所在的文件夾的絕對路徑;
port
是項目的server.port,這裏是用來找PID殺進程的;
project
和version
用來指定啓動的Jar包,和nohup輸出文件,我的項目打包後是demo-api-1.0.0.BETA.jar,輸出到demo-api.out,在.gitignore中配置忽略項*.out
,所以在項目路徑下的demo-api.out可以不受Git管理。
- 設置權限
開發環境是MacOS或Linux的同學可以直接在本地的Git倉庫加好權限,Windows黨同學建議用Linux環境加好權限再push一次。
chmod 755 deploy.sh
755是給root用戶的,根據具體情況而定,測試環境的話也可以777