利用Jpom在线构建Spring Boot项目

1 简介

前面介绍了运用Jpom构建部署Vue项目,最近研究了怎么部署Spring Boot项目,至此,一套简单的前后端项目就搞定了。

2 基本步骤

因为就是一个简单的自研测试项目,所以构建没有使用docker容器,直接用java -jar命令运行jar包。

1.从码云仓库拉取源代码;

2.运行mvn clean install命令生成jar包;

3.复制生成的jar包到指定目录;

4.运行脚本启动jar包。

3 步骤详解

1.安装Jpom服务端以及插件端不做详细介绍,官网都有十分详细的教程。

2.项目运行环境配置。项目运行环境配置也不做介绍,Maven、Java环境这些都是必不可少。

3.添加仓库。此步骤也比较简单,登录码云,复制对应仓库的HTTPS地址,添加到Jpom中。

4.配置构建信息。配置构建信息和构建Vue项目十分相似,只是在发布操作的时候选择的不同,因为前端项目运用Nginx暴露服务,所以只需要对应的打包文件放置在Nginx配置文件对应的目录即可。后端项目得到jar包后,还需要运行命令启动服务,所以选择的是本地命令构建。

如图所示,红框1处为构建命令,因为本项目的特殊,基于ruoyi-vue-pro项目,如果不先对所有依赖打包,构建会报错。

红框2处为得到jar包后,复制jar包到指定文件目录,运行脚本,启动jar包。这一步每个人的做法可以不一样,不需要我这里这么复杂,不需要复制jar,直接运行即可。

-------------------------------遇到问题------------------------------------------------

在红框2处,我最开始运行的代码类似下面这一段,但是并没有成功运行我生成的jar包,这个问题还需要再研究一下。

bash 复制代码
Tag="jpom-test-jar"

# 检查进程状态
pid=$(ps -ef | grep -v 'grep' | egrep $Tag| awk '{printf $2 " "}')
if [ "$pid" != "" ]; then      
  echo -n "boot ( pid $pid) is running" 
  echo 
  echo -n $"Shutting down boot: "
  pid=$(ps -ef | grep -v 'grep' | egrep $Tag| awk '{printf $2 " "}')
  if [ "$pid" != "" ]; then
    echo "kill boot process"
    # kill  "$pid"
    kill -9 "$pid"
  fi
else 
   echo "boot is stopped" 
fi
# 启动项目
nohup java -Dappliction=$Tag -jar /home/java/test/springboot-test-jar-0.0.1-SNAPSHOT.jar > /dev/null 2>&1 &

5.rerun-hh-om-backend.sh运行脚本内容

bash 复制代码
PID=$(ps -ef | grep /home/hh-om-database/honor-oa-server/backend/target/sys-server.jar | grep -v grep | awk '{ print $2 }')
if [ -z "$PID" ]
then
    echo Application is already stopped
else
    echo kill $PID
    kill $PID
fi
#启动项目
nohup java -jar /home/hh-om-database/honor-oa-server/backend/target/sys-server.jar &

其实可以看出这个脚本内容与不能启动jar包的那个脚本思想是一样的。

4 总结

本篇文章的内容其实十分简单,只简单介绍了Jpom构建Spring Boot项目,基本思想就是获取源码,mvn命令获取jar包,然后启动jar包。后面还有很多的别的类型构建,docker容器,ssh构建,后续实践再交流。

相关推荐
bjzhang751 分钟前
SpringBoot开发——集成Tess4j实现OCR图像文字识别
spring boot·ocr·tess4j
鱼饼6号4 分钟前
Prometheus 上手指南
linux·运维·centos·prometheus
flying jiang6 分钟前
Spring Boot 入门面试五道题
spring boot
小菜yh7 分钟前
关于Redis
java·数据库·spring boot·redis·spring·缓存
希冀12314 分钟前
【操作系统】1.2操作系统的发展与分类
后端
GoppViper44 分钟前
golang学习笔记29——golang 中如何将 GitHub 最新提交的版本设置为 v1.0.0
笔记·git·后端·学习·golang·github·源代码管理
爱上语文2 小时前
Springboot的三层架构
java·开发语言·spring boot·后端·spring
荆州克莱2 小时前
springcloud整合nacos、sentinal、springcloud-gateway,springboot security、oauth2总结
spring boot·spring·spring cloud·css3·技术
serve the people2 小时前
springboot 单独新建一个文件实时写数据,当文件大于100M时按照日期时间做文件名进行归档
java·spring boot·后端
m0_609000422 小时前
向日葵好用吗?4款稳定的远程控制软件推荐。
运维·服务器·网络·人工智能·远程工作