前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Jpom自动构建SpringBoot项目

Jpom自动构建SpringBoot项目

作者头像
Blue_007
发布2023-10-21 12:41:01
8640
发布2023-10-21 12:41:01
举报
文章被收录于专栏:代码生涯代码生涯

一、介绍 🎨

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

我们可以简化理解它的作用为 :

  1. 无需自己手动构建、部署项目(可应对多环境打包的需求);
  2. 统一监控各类项目的运行状态(异常自动报警、自动尝试重启)。

当然它的功能还有很多,具体可以去官网查看 https://jpom.top/

二、使用 🎈

2.1 安装 🎃

Jpom提供的安装方式有两种:

Linux 一键安装:

代码语言:javascript
复制
提前创建好文件夹 并且切换到对应到文件夹执行命令
mkdir -p /home/jpom/server/
cd /home/jpom/server/
apt-get install -y wget && wget -O install.sh https://jpom.top/docs/install.sh && bash install.sh Server jdk

Docker 容器安装:

代码语言:javascript
复制
docker run -d -p 2122:2122 \
  --name jpom-server \
  -v /home/jpom-server/logs:/usr/local/jpom-server/logs \
  -v /home/jpom-server/data:/usr/local/jpom-server/data \
  -v /home/jpom-server/conf:/usr/local/jpom-server/conf \
  jpomdocker/jpom

安装过后,上面的指令会自行启动服务。Jpom提供了一个管理页面,访问地址为:http://本机IP:2122

2.2 初始化 🎆

添加超级管理账号

后续页面会有 MFA 两步验证,可用可不用

2.3 配置 ssh 信息 🧨

配置 ssh 信息、便于构建后发布到对应服务器中 这一步的作用在于让Jpom系统能够身份验证,进行指令运行,同时还能限制指定的指令

2.4 配置git仓库 ✨

2.5 配置构建信息 🎉

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

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

Java 项目发布命令示例

代码语言:javascript
复制
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 &

2.6 生成触发器 🎊

为 Jpom 服务端开放公网可以访问(如果服务端不支持公网访问,Gitee 的 webhook 将无法访问)

地址示例:

https://xxx.xxxx.cn/api/build2/xxx/xxxx

2.7 给 Gitee 仓库配置 webhook 🎃

可以根据自己的需求勾选触发事件

注意:Jpom 中的 webhook 目前都是免密,不用填写密码或者签名

这样配置后您在这个仓库提交代码后将自动触发 Jpom 中的此构建(执行构建)

2.8 如何避免重复构建 🎄

目前 Jpom 中的触发器并未解析触发事件信息,相当于只要请求了该接口就将执行构建。

问: 那么该如何避免提交非构建分支时候触发构建呢?

答: 开启差异构建,差异构建是指构建时候是否判断仓库代码有变动,如果没有变动则不执行构建

三、其他 🎡

Jpom的 项目监控 功能也很强大,邮件报警通知功能非常推荐,并且配置也很方便,可以去官网文档了解,这里就不过多讲解了。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2023-10-12,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 代码生涯 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、介绍 🎨
  • 二、使用 🎈
    • 2.1 安装 🎃
      • 2.2 初始化 🎆
        • 2.3 配置 ssh 信息 🧨
          • 2.4 配置git仓库 ✨
            • 2.5 配置构建信息 🎉
              • 2.6 生成触发器 🎊
                • 2.7 给 Gitee 仓库配置 webhook 🎃
                  • 2.8 如何避免重复构建 🎄
                  • 三、其他 🎡
                  相关产品与服务
                  容器服务
                  腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
                  领券
                  问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档