Jpom-简而轻的项目监控软件
liuian 2024-12-05 14:28 21 浏览
简而轻的低侵入式在线构建、自动部署、日常运维、项目监控软件
您为什么需要 Jpom
项目部署运维时,通用的方法是登录服务器,上传新的项目包,备份现有版本,执行相应命令。如果管理多个项目则重复操作上述步骤。不同项目亦存在不同的命令处理方式。项目的运行状态无法掌握等.
在中小团队中或者没有专业运维的公司(开发兼运维工作),暂时不便引入复杂的 CI/CD 工具时使用 Jpom 轻量化、无侵入的过度
使用Jpom前
- 登录服务器(专业软件:RDP、SSH等)
- 不同项目有不同的管理命令(不易记、易混淆)
- 查看项目运行状态需要再次使用命令
- 服务器密码分发混乱(安全性低)
- 集群项目需要挨个操作项目步骤
使用Jpom后
- 使用浏览器登录方便快捷的管理项目
- 界面形式实时查看项目运行状态、控制台日志、管理项目文件在线修改项目文本文件
- 在线 SSH 终端,让您在没有 Xshell、FianlShell 软件也能轻松管理服务器运维登录 Jpom 系统不需要知道服务器密码并且能自动执行命令日志能指定 ssh 禁止执行命令,避免执行高风险命令设置文件目录,在线查看管理对应项目文件及配置文件SSH 命令模版在线执行脚本还能定时执行在线修改文本文件轻量化地实现了简单的"堡垒机"功能
- 使用项目分发一键搞定集群项目多机关部署
- 在线构建不用手动更新升级项目支持拉取 GIT、SVN 仓库支持 ssh 方式发布支持定时构建支持 webhook 形式触发构建
- 支持在线编辑 nginx 配置文件并自动 reload等操作管理 nginx 状态管理 ssl 证书
- 项目状态监控异常自动报警、自动尝试重启支持邮件+钉钉群+微信群通知,主动感知项目运行状况
- 用户操作监控,监控指定用户指定操作以邮件形式通知
- 节点脚本模板+定时执行,拓展更多可能
- 重要路径白名单模式,杜绝用户误操作系统文件
- 多用户管理,用户项目权限独立(上传、删除权限可控制),完善的操作日志,使用工作空间隔离权限
一键安装(Linux)(推荐)
服务端
安装的路径位于执行命令目录(数据、日志存放目录默认位于安装路径,如需要修改参考配置文件:extConfig.yml )
?? 特别提醒:一键安装的时候注意执行命令不可在同一目录下,即Server端和Agent端不可安装在同一目录下
如果需要修改数据、日志存储路径请参照 extConfig.yml 文件中 jpom.path 配置属性
yum install -y wget && wget -O install.sh https://dromara.gitee.io/jpom/docs/install.sh && bash install.sh Server
备用地址
yum install -y wget && wget -O install.sh https://cdn.jsdelivr.net/gh/dromara/Jpom/docs/install.sh && bash install.sh Server
支持自动安装jdk环境
yum install -y wget && wget -O install.sh https://dromara.gitee.io/jpom/docs/install.sh && bash install.sh Server jdk
支持自动安装jdk和maven环境
yum install -y wget && wget -O install.sh https://dromara.gitee.io/jpom/docs/install.sh && bash install.sh Server jdk+mvn
启动成功后,服务端的端口为 2122 访问管理页面 例如http://127.0.0.1:2122/
如无法访问,检查下是否开启了防火墙systemctl status firewalld,如状态显示为绿色Active: active (running)可临时关闭防火墙systemctl stop firewalld,然后重启防火墙firewall-cmd --reload(建议仅测试环境下使用,生产环境下慎用建议使用规则放行)
如关闭防火墙后仍无法访问,并且使用的是云服务器,还需要到云服务器管理后台中检查安全组规则(关闭防火墙)
?? 注意: linux 系统中防火墙可能存在多种:Firewall、Iptables,再检查防火墙配置时候需要都检查一下
容器化安装
?? 注意:容器化安装方式需要先安装docker
docker pull jpomdocker/jpom
docker volume create jpom-server-vol
docker run -d -p 2122:2122 --name jpom-server -v /etc/localtime:/etc/localtime:ro -v jpom-server-vol:/usr/local/jpom-server jpomdocker/jpom
容器化安装仅提供服务端版本。由于容器和宿主机环境隔离,而导致插件端的很多功能无法正常使用,因此对插件端容器化意义不大。
安装docker、配置镜像、自动启动、查找安装后所在目录等可参考文档https://jpom.io/docs/
一键启动 docker-compose
- 无需安装任何环境,自动编译构建
需要注意修改 .env 文件中的 token 值
git clone https://gitee.com/dromara/Jpom.git
cd Jpom
docker-compose up
管理命令
- windows 中 Agent.bat 、Server.bat
# 服务端
Server.bat 启动管理面板(按照面板提示输入操作)
# 插件端
Agent.bat 启动管理面板(按照面板提示输入操作)
windows 中执行启动后需要根据日志取跟进启动的状态、如果出现乱码请检查或者修改编码格式,windows 中 bat 编码格式推荐为 GB2312
- linux 中 Agent.sh 、Server.sh
# 服务端
Server.sh start 启动Jpom服务端
Server.sh stop 停止Jpom服务端
Server.sh restart 重启Jpom服务端
Server.sh status 查看Jpom服务端运行状态
Server.sh create 创建Jpom服务端的应用服务(jpom-server)
# 插件端
Agent.sh start 启动Jpom插件端
Agent.sh stop 停止Jpom插件端
Agent.sh restart 重启Jpom插件端
Agent.sh status 查看Jpom插件端运行状态
Agent.sh create 创建Jpom插件端的应用服务(jpom-agent)
linux 服务方式管理
这里安装服务仅供参考,实际中可以根据需求自定义配置
在使用 Server.sh create/Agent.sh create 成功后
service jpom-server {status | start | stop}
service jpom-agent {status | start | stop}
Jpom 的参数配置
在项目运行的根路径下的extConfig.yml文件
- 插件端示例:extConfig.yml
- 服务端示例:extConfig.yml
演示项目
https://demo.jpom.io
https://jpom.keepbx.cn (备用)
账号:demo
密码:jpom123
演示系统有部分功能做了限制,完整功能请自行部署体验
如果出现登录不上,请联系我们,联系方式在最底部
构建案例仓库代码
- Jboot 案例代码
- SpringBoot 案例代码(ClassPath)
- SpringBoot 案例代码(Jar)
- node vue 案例代码(antdv)
- python 案例代码
nodejs 编译指定目录:
yarn --cwd xxxx/ install
yarn --cwd xxxx/ build
maven 编译指定目录:
mvn -f xxxx/pom.xml clean package
源码获取:
关注回复“Jpom”,获取项目源码地址。
相关推荐
- GANs为何引爆机器学习?这篇基于TensorFlow的实例教程为你解惑!
-
「机器人圈导览」:生成对抗网络无疑是机器学习领域近三年来最火爆的研究领域,相关论文层出不求,各种领域的应用层出不穷。那么,GAN到底如何实践?本文编译自Medium,该文作者以一朵玫瑰花为例,详细阐...
- 高丽大学等机构联合发布StarGAN:可自定义表情和面部特征
-
原文来源:arXiv、GitHub作者:YunjeyChoi、MinjeChoi、MunyoungKim、Jung-WooHa、SungKim、JaegulChoo「雷克世界」编译:嗯~...
- TensorFlow和PyTorch相继发布最新版,有何变化
-
原文来源:GitHub「机器人圈」编译:嗯~阿童木呀、多啦A亮Tensorflow主要特征和改进在Tensorflow库中添加封装评估量。所添加的评估量列表如下:1.深度神经网络分类器(DNNCl...
- 「2022 年」崔庆才 Python3 爬虫教程 - 深度学习识别滑动验证码缺口
-
上一节我们使用OpenCV识别了图形验证码躯壳欧。这时候就有朋友可能会说了,现在深度学习不是对图像识别很准吗?那深度学习可以用在识别滑动验证码缺口位置吗?当然也是可以的,本节我们就来了解下使用深度...
- 20K star!搞定 LLM 微调的开源利器
-
LLM(大语言模型)微调一直都是老大难问题,不仅因为微调需要大量的计算资源,而且微调的方法也很多,要去尝试每种方法的效果,需要安装大量的第三方库和依赖,甚至要接入一些框架,可能在还没开始微调就已经因为...
- 大模型DeepSeek本地部署后如何进行自定义调整?
-
1.理解模型架构a)查看深度求索官方文档或提供的源代码文件,了解模型的结构、输入输出格式以及支持的功能。模型是否为预训练权重?如果是,可以在预训练的基础上进行微调(Fine-tuning)。是否需要...
- 因配置不当,约5000个AI模型与数据集在公网暴露
-
除了可访问机器学习模型外,暴露的数据还可能包括训练数据集、超参数,甚至是用于构建模型的原始数据。前情回顾·人工智能安全动态向ChatGPT植入恶意“长期记忆”,持续窃取用户输入数据多模态大语言模型的致...
- 基于pytorch的深度学习人员重识别
-
基于pytorch的深度学习人员重识别Torchreid是一个库。基于pytorch的深度学习人员重识别。特点:支持多GPU训练支持图像的人员重识别与视频的人员重识别端到端的训练与评估简单的re...
- DeepSeek本地部署:轻松训练你的AI模型
-
引言:为什么选择本地部署?在AI技术飞速发展的今天,越来越多的企业和个人希望将AI技术应用于实际场景中。然而,对于一些对数据隐私和计算资源有特殊需求的用户来说,云端部署可能并不是最佳选择。此时,本地部...
- 谷歌今天又开源了,这次是Sketch-RNN
-
前不久,谷歌公布了一项最新技术,可以教机器画画。今天,谷歌开源了代码。在我们研究其代码之前,首先先按要求设置Magenta环境。(https://github.com/tensorflow/magen...
- Tensorflow 使用预训练模型训练的完整流程
-
前面已经介绍了深度学习框架Tensorflow的图像的标注和训练数据的准备工作,本文介绍一下使用预训练模型完成训练并导出训练的模型。1.选择预训练模型1.1下载预训练模型首先需要在Tensorf...
- 30天大模型调优学习计划(30分钟训练大模型)
-
30天大模型调优学习计划,结合Unsloth和Lora进行大模型微调,掌握大模型基础知识和调优方法,熟练应用。第1周:基础入门目标:了解大模型基础并熟悉Unsloth等工具的基本使用。Day1:大模...
- python爬取喜马拉雅音频,json参数解析
-
一.抓包分析json,获取加密方式1.抓包获取音频界面f12打开抓包工具,播放一个(非vip)视频,点击“媒体”单击打开可以复制URL,发现就是我们要的音频。复制“CKwRIJEEXn-cABa0Tg...
- 五、JSONPath使用(Python)(json数据python)
-
1.安装方法pipinstalljsonpath2.jsonpath与Xpath下面表格是jsonpath语法与Xpath的完整概述和比较。Xpathjsonpath概述/$根节点.@当前节点...
- Python网络爬虫的时候json=就是让你少写个json.dumps()
-
大家好,我是皮皮。一、前言前几天在Python白银交流群【空翼】问了一个Python网络爬虫的问题,提问截图如下:登录请求地址是这个:二、实现过程这里【甯同学】给了一个提示,如下所示:估计很多小伙伴和...
- 一周热门
-
-
Python实现人事自动打卡,再也不会被批评
-
Psutil + Flask + Pyecharts + Bootstrap 开发动态可视化系统监控
-
一个解决支持HTML/CSS/JS网页转PDF(高质量)的终极解决方案
-
再见Swagger UI 国人开源了一款超好用的 API 文档生成框架,真香
-
【验证码逆向专栏】vaptcha 手势验证码逆向分析
-
网页转成pdf文件的经验分享 网页转成pdf文件的经验分享怎么弄
-
C++ std::vector 简介
-
python使用fitz模块提取pdf中的图片
-
《人人译客》如何规划你的移动电商网站(2)
-
Jupyterhub安装教程 jupyter怎么安装包
-
- 最近发表
- 标签列表
-
- python判断字典是否为空 (50)
- crontab每周一执行 (48)
- aes和des区别 (43)
- bash脚本和shell脚本的区别 (35)
- canvas库 (33)
- dataframe筛选满足条件的行 (35)
- gitlab日志 (33)
- lua xpcall (36)
- blob转json (33)
- python判断是否在列表中 (34)
- python html转pdf (36)
- 安装指定版本npm (37)
- idea搜索jar包内容 (33)
- css鼠标悬停出现隐藏的文字 (34)
- linux nacos启动命令 (33)
- gitlab 日志 (36)
- adb pull (37)
- table.render (33)
- uniapp textarea (33)
- python判断元素在不在列表里 (34)
- python 字典删除元素 (34)
- react-admin (33)
- vscode切换git分支 (35)
- vscode美化代码 (33)
- python bytes转16进制 (35)