栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

通过shell脚本自动部署SpringBoot项目

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

通过shell脚本自动部署SpringBoot项目

通过shell脚本自动部署SpringBoot项目

在linux中安装git、maven,编写shell脚本(拉取代码、编译、打包、启动),为用户赋予执行shell脚本的权限,最后在执行shell

安装git、克隆代码
# 先列出git所有的安装包
yum list git

# 在线安装git
yum install git

看到这个说明安装成功了

先进入我们要存放项目的位置

cd /usr/local

克隆项目

git clone https://gitee.com/liaoweibin/ssm-crud.git

安装maven

如果还没安装jdk的先去安装,可以看这篇文章 Linux安装jdk设置环境变量(附jdk文件)

首先去官网下载maven安装包,再上传到linux服务器,执行下方命令进行解压

tar -zxvf apache-maven-3.5.4-bin.tar.gz -C /usr/local

解压后执行下方命令配置环境变量

vim /etc/profile

要添加的内容

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

添加后执行 source /etc/profile 重新加载配置文件

测试安装是否成功

mvn -version

看到这就说明成功了

我们还要修改一下maven本地仓库地址

# 编辑配置文件
vim /usr/local/apache-maven-3.5.4/conf/settings.xml

# 加入配置(需要先在local下创建repo子目录)
/usr/local/repo

放在settings下,然后保存

shell脚本

我们新建一个shell脚本,把下面的代码复制进去,要把项目名称和项目地址改成正确的

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

echo 停止原来运行中的工程
APP_NAME=ssm-crud-system

# 查找进程id是否存在,存在则停止进程
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

# 再次查找进程id,存在则杀死进程(双重保障进程已停止)
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 /usr/local/ssm-crud

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

echo 开始打包
# 先clear在打包,取消单元测试
output=`mvn clean package -Dmaven.test.skip=true`

# 进入项目打包后的文件夹
cd ssm-crud-system/target

echo 启动项目
nohup java -jar ssm-crud-system-1.0-SNAPSHOT.jar &> ssm-crud-system.log &
echo 项目启动完成

添加权限执行脚本

当我们查看文件详细时,会发现没有执行权限

我们执行下方命令让他有执行权限,这个命令可以让该文件拥有所有权限:读®、写(w)、执行(x)

chmod 777 auto_deploy.sh

我们可以看到拥有权限了,文件的名字也变成了绿色

接下来就是执行脚本

可以执行 netstat -tulpn 命令查看有没有该项目的端口,或者在windows电脑上访问项目地址访问进行测试

如果访问不了就看一下防火墙有没有打开打开

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/963747.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号