当前位置: 首页> 游戏> 网游 > Spring Boot 项目打包 + Shell 脚本部署详细总结

Spring Boot 项目打包 + Shell 脚本部署详细总结

时间:2025/7/12 20:56:13来源:https://blog.csdn.net/m0_46607044/article/details/139526447 浏览次数:0次

Spring Boot 项目打包 + Shell 脚本部署详细总结

在现代企业应用开发中,Spring Boot项目的自动化部署是一个非常重要的环节。通过自动化部署,我们可以减少人为操作带来的错误,提高部署效率和可靠性。本文将详细介绍如何将Spring Boot项目打包,并通过Shell脚本进行自动化部署。

一、Spring Boot 项目打包

1.1 准备工作

在开始打包之前,我们需要确保以下条件:

  1. 已经安装了JDK和Maven。
  2. 已经配置好了Spring Boot项目,并且可以通过mvn clean install命令进行构建。

1.2 配置pom.xml

pom.xml文件中添加Spring Boot Maven插件,以便我们可以打包为一个可执行的JAR文件。

<build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId></plugin></plugins>
</build>

1.3 打包项目

在项目根目录下运行以下命令,将Spring Boot项目打包为一个可执行的JAR文件:

mvn clean package

执行上述命令后,会在target目录下生成一个*.jar文件,例如myapp-0.0.1-SNAPSHOT.jar

二、编写Shell脚本进行自动化部署

为了实现自动化部署,我们需要编写一个Shell脚本,该脚本将执行以下操作:

  1. 停止正在运行的旧版本应用。
  2. 备份旧版本应用。
  3. 部署新版本应用。
  4. 启动新版本应用。

2.1 创建部署目录

在服务器上创建一个目录,用于存放部署脚本和应用包。例如:

mkdir -p /opt/myapp

将打包生成的JAR文件上传到该目录。

2.2 编写部署脚本

/opt/myapp目录下创建一个名为deploy.sh的Shell脚本,并添加以下内容:

#!/bin/bash# 部署目录
APP_DIR="/opt/myapp"
# 应用名称
APP_NAME="myapp"
# 应用版本
APP_VERSION="0.0.1-SNAPSHOT"
# JAR 文件名
JAR_NAME="$APP_NAME-$APP_VERSION.jar"
# 备份目录
BACKUP_DIR="$APP_DIR/backup"
# 日志文件
LOG_FILE="$APP_DIR/$APP_NAME.log"# 创建备份目录
mkdir -p $BACKUP_DIR# 停止正在运行的旧版本应用
echo "Stopping old application..."
pid=$(ps -ef | grep $JAR_NAME | grep -v grep | awk '{print $2}')
if [ -n "$pid" ]; thenkill -9 $pidecho "Application stopped."
elseecho "No running application found."
fi# 备份旧版本应用
echo "Backing up old application..."
if [ -f "$APP_DIR/$JAR_NAME" ]; thenmv $APP_DIR/$JAR_NAME $BACKUP_DIR/$JAR_NAME.$(date +%Y%m%d%H%M%S)echo "Backup completed."
elseecho "No application to backup."
fi# 部署新版本应用
echo "Deploying new application..."
cp $APP_DIR/$JAR_NAME .# 启动新版本应用
echo "Starting new application..."
nohup java -jar $JAR_NAME > $LOG_FILE 2>&1 &echo "Deployment completed."

2.3 设置脚本权限

确保脚本具有可执行权限:

chmod +x /opt/myapp/deploy.sh

2.4 运行部署脚本

/opt/myapp目录下运行以下命令,执行部署脚本:

./deploy.sh

三、验证部署

在运行部署脚本之后,可以通过以下命令验证应用是否启动成功:

ps -ef | grep myapp-0.0.1-SNAPSHOT.jar

此外,还可以查看日志文件/opt/myapp/myapp.log,确认应用是否正常启动。

四、总结

通过本文的介绍,我们详细讲解了如何将Spring Boot项目打包为可执行的JAR文件,并通过Shell脚本实现自动化部署的过程。通过自动化部署,我们可以大大减少手动操作带来的风险,提高部署效率和可靠性。


关键字:Spring Boot 项目打包 + Shell 脚本部署详细总结

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: