Jpom 简而轻的低侵入式在线构建、自动部署、日常运维、项目运维监控软件
我们可以简化理解它的作用为 :
当然它的功能还有很多,具体可以去官网查看 https://jpom.top/
Jpom提供的安装方式有两种:
Linux 一键安装:
提前创建好文件夹 并且切换到对应到文件夹执行命令
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 容器安装:
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
添加超级管理账号
后续页面会有 MFA
两步验证,可用可不用
配置 ssh 信息、便于构建后发布到对应服务器中 这一步的作用在于让Jpom系统能够身份验证,进行指令运行,同时还能限制指定的指令
配置项目查看构建信息,用于管理项目发布流程
需要已经配置到 ssh 文件目录中
)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 &
为 Jpom 服务端开放公网可以访问(如果服务端不支持公网访问,Gitee 的 webhook 将无法访问)
地址示例:
https://xxx.xxxx.cn/api/build2/xxx/xxxx
可以根据自己的需求勾选触发事件
注意:Jpom 中的 webhook 目前都是免密,不用填写密码或者签名
这样配置后您在这个仓库提交代码后将自动触发 Jpom 中的此构建(执行构建)
目前 Jpom 中的触发器并未解析触发事件信息,相当于只要请求了该接口就将执行构建。
问: 那么该如何避免提交非构建分支时候触发构建呢?
答: 开启差异构建,差异构建是指构建时候是否判断仓库代码有变动,如果没有变动则不执行构建
Jpom的 项目监控 功能也很强大,邮件报警通知功能非常推荐,并且配置也很方便,可以去官网文档了解,这里就不过多讲解了。