从零玩转之JPOM自动化部署本地构建 + SSH 发布 java 项目

简介: 从零玩转之JPOM自动化部署本地构建 + SSH 发布 java 项目

🚀简而轻的低侵入式在线构建、自动部署、日常运维、项目监控软件


一键部署Jpom

本文主要介绍: 如何从零开始使用一键安装的方式安装 Jpom 服务端+插件端配置 本文中服务端和插件端是安装在同一个服务器中的,实际操作时根据业务情况来安装

Jpom 服务端、Jpom 插件端(安装 jpom 需要 java 环境)




安装服务端

# 提前创建好文件夹 并且切换到对应到文件夹执行命令
mkdir -p /home/jpom/server/
cd /home/jpom/server/
# apt-get 不行就换 yum 
apt-get install -y wget && wget -O install.sh https://jpom.top/docs/install.sh && bash install.sh Server jdk


image.png




初始化服务端

访问ip:2122/


安装插件端

# 提前创建好文件夹 并且切换到对应到文件夹执行命令
mkdir -p /home/jpom/agent/
cd /home/jpom/agent/
apt-get install -y wget && wget -O install.sh https://jpom.top/docs/install.sh && bash install.sh Agent jdk



添加插件节点


注意要填写端口号哟

这里的节点账号密码和超级管理员账号密码是两个都行哟

节点账号密码在安装启动成功后会输出到控制台,请根据输出到内容填写。如果自己修改了账号密码则填写修改后的

也可单独配置节点密码  application.yml 自定义配置了账号密码不会出现此文件

image.png




这样就完成 Jpom 的安装流程


添加SSH节点

配置 ssh 信息、便于构建后发布到对应服务器中 注意: 文件目录为给对应 ssh 授权部分目录可以在 Jpom 中使用,一般用于构建发布目录、ssh 文件管理

image.png


点击分配给默认空间即可

点击关联->配置->配置项目白名单 图下所示


这样子就可以操作ssh里面的目录文件了

image.png



本地构建 + SSH 发布 java 项目

本文主要介绍:如何从零开始使用 Jpom 中的构建功能快速实现将项目从仓库中构建并发布到服务器中并启动项目




一、配置仓库信息

主要用于构建项目

image.png



二、配置项目查看构建信息,用于管理项目发布流程


  1. 构建的项目(仓库)信息
  2. 项目的构建命令(依赖的构建环境:maven、vue、python、php)
  3. mvn clean package
  4. npm run build
  5. 构建产物的目录(项目中的相对路径)
  6. java 项目一般位于当前项目 target 目录下的某个文件
  7. vue 项目一般位于当前项目 dist 文件夹
  8. 发布目录:项目将发布服务器到哪个目录(需要已经配置到 ssh 文件目录中)
  9. 发布命令:执行发布后执行的命令,如:配置停止、启动项目

image.png

image.png



Java 项目发布命令示例

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 &



解释名词


  1. 构建命令springboot maven 打包
  2. 产物目录打完包的jar的地址相对路径当前模块下的target
  3. 发布操作只介绍SSH其他的JPOM查看具体实现发布的SSH: 选择你配置好的SSH节点

发布目录: 把jar复制到指定目录 发布前命令:校验是否需要停止当前项目 发布后命令:启动项目 图片当中的发布前命令

cd /root/jpom
echo "======================================================================="
echo "查看密钥位置:"
ls /root/weChartPayment/apiclient_key.pem
echo "复制密钥到发布目录:"
cp -p  /root/weChartPayment/apiclient_key.pem /root/jpom/wx-pay-demo/target
ls /root/jpom/wx-pay-demo/target
echo "======================================================================="
ls
echo "======================================================================="
Tag="wx-pay-demo"
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 "删除存在的程序 $pid"
    kill -9 "$pid"
    echo "删除成功准备重新启动 $pid"
  fi
else 
   echo "SpringBoot 启动成功 请等待10- 20 秒"  
fi

发布后命令

echo "开始执行启动命令" 
echo "====================================================================================================================================================="
nohup java  -jar  /root/jpom/wx-pay-demo/target/wx-play-demo-0.0.1-SNAPSHOT.jar > /root/jpom/wx-pay-demo/target/application.log 2>&1 &
echo "====================================================================================================================================================="
echo "SpringBoot 启动成功 请等待10- 20 秒"



可以愉快的点击构建(直接构建)




最后


本期结束咱们下次再见👋~

🌊 关注我不迷路,如果本篇文章对你有所帮助,或者你有什么疑问,欢迎在评论区留言,我一般看到都会回复的。大家点赞支持一下哟~ 💗

相关文章
|
9月前
|
敏捷开发 测试技术 API
测试金字塔:构建高效自动化测试策略的基石
测试金字塔:构建高效自动化测试策略的基石
649 116
|
9月前
|
测试技术 API 数据库
测试金字塔:构建高效自动化测试策略的基石
测试金字塔:构建高效自动化测试策略的基石
659 114
|
9月前
|
设计模式 前端开发 测试技术
告别脆弱:构建稳定UI自动化测试的3个核心策略
告别脆弱:构建稳定UI自动化测试的3个核心策略
826 113
|
9月前
|
JSON 监控 API
n8n错误处理全攻略:构建稳定可靠的自动化工作流
在n8n自动化工作流中,错误是提升系统可靠性的关键。本文详解常见错误类型、节点级与全局处理机制,结合重试、熔断、补偿事务等高级模式,助您构建稳定、可维护的生产级自动化流程。
|
9月前
|
Java 项目管理 Maven
Maven项目管理与构建自动化完全指南
Maven彻底改变了Java项目管理方式,通过POM模型、依赖管理和标准化构建流程,大幅提升开发效率。本文深入解析其核心概念、多模块管理、私服搭建及与Spring Boot、Docker等现代技术栈的集成实践,助力开发者实现高效、规范的项目构建与团队协作。
1320 156
Maven项目管理与构建自动化完全指南
|
10月前
|
IDE 安全 Java
Lombok 在企业级 Java 项目中的隐性成本:便利背后的取舍之道
Lombok虽能简化Java代码,但其“魔法”特性易破坏封装、影响可维护性,隐藏调试难题,且与JPA等框架存在兼容风险。企业级项目应优先考虑IDE生成、Java Records或MapStruct等更透明、稳健的替代方案,平衡开发效率与系统长期稳定性。
610 115
|
10月前
|
存储 小程序 Java
热门小程序源码合集:微信抖音小程序源码支持PHP/Java/uni-app完整项目实践指南
小程序已成为企业获客与开发者创业的重要载体。本文详解PHP、Java、uni-app三大技术栈在电商、工具、服务类小程序中的源码应用,提供从开发到部署的全流程指南,并分享选型避坑与商业化落地策略,助力开发者高效构建稳定可扩展项目。
|
10月前
|
安全 Java API
Java Web 在线商城项目最新技术实操指南帮助开发者高效完成商城项目开发
本项目基于Spring Boot 3.2与Vue 3构建现代化在线商城,涵盖技术选型、核心功能实现、安全控制与容器化部署,助开发者掌握最新Java Web全栈开发实践。
819 1
数据采集 Web App开发 人工智能
567 0
|
11月前
|
前端开发 Java API
2025 年 Java 全栈从环境搭建到项目上线实操全流程指南:Java 全栈最新实操指南(2025 版)
本指南涵盖2025年Java全栈开发核心技术,从JDK 21环境搭建、Spring Boot 3.3实战、React前端集成到Docker容器化部署,结合最新特性与实操流程,助力构建高效企业级应用。
3109 1