在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 就可以完成代码的重新拉取、编译、启动操作
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值