Linux通过Shell自动部署springboot

时间:2022-04-05 01:14:26

需要提前配置jdk、git、maven、MySQL环境,这里主要介绍maven环境配置

一、maven环境配置

1、下载

maven官方下载地址:https://maven.apache.org/download.cgi

Linux通过Shell自动部署springboot

方案1:直接点击下载,然后上传到服务器

方案2:(推荐)

复制下载链接,然后在服务器上用wget命令下载

wget https://dlcdn.apache.org/maven/maven-3/3.9.1/binaries/apache-maven-3.9.1-bin.tar.gz

2、解压

将下载好的maven安装包放在磁盘的 /usr/local/ 目录下然后解压

mv apache-maven-3.9.1-bin.tar.gz /usr/local/
tar -zxvf apache-maven-3.9.1-bin.tar.gz

3、配置环境变量

编辑/etc/profile, 配置MVN_HOME环境变量

vim /etc/profile

profile里添加export (/usr/local/ 是解压后文件目录)

export MAVEN_HOME=/usr/local/apache-maven-3.9.1
export PATH=$PATH:$MAVEN_HOME/bin

配置完成刷新环境变量

source /etc/profile

执行mvn -v 查看安装maven版本

Linux通过Shell自动部署springboot

二、项目部署

1、拉取git项目

拉取已经写好并且上传到git上面需要部署的代码

git clone https://gitee.com/lsc00/hm-take.git
Linux通过Shell自动部署springboot

2、创建shell脚本文件

vi reggieStart.sh

复制下面内容并保存

#!/bin/sh
echo =================================
echo  自动化部署脚本启动
echo =================================

echo 停止原来运行中的工程
APP_NAME=hm-take

tpid=`ps -ef|grep $APP_NAME|grep -v grep|grep -v kill|awk '{print $2}'`
if [ ${tpid} ]; then
    echo 'Stop Process...'
    kill -15 $tpid
fi
sleep 2
tpid=`ps -ef|grep $APP_NAME|grep -v grep|grep -v kill|awk '{print $2}'`
if [ ${tpid} ]; then
    echo 'Kill Process!'
    kill -9 $tpid
else
    echo 'Stop Success!'
fi

echo 准备从Git仓库拉取最新代码
cd /home/admin/lsc/Java/project/take/hm-take

echo 开始从Git仓库拉取最新代码
git pull
echo 代码拉取完成

echo 开始打包
output=`mvn clean package -Dmaven.test.skip=true`

cd target

echo 启动项目
nohup java -jar hm-take-1.0-SNAPSHOT.jar &> hm-take.log &
echo 项目启动完成

给脚本授予权限

chmod 777 reggieStart.sh

3、运行脚本

./reggieStart.sh

运行脚本时会自动加载依赖,第一次启动因为需要加载依赖需要时间比较久

Linux通过Shell自动部署springboot