开放代码社区 › Jpom

Jpom

基础设施与运维Java

【dromara】简而轻的低侵入式在线构建、自动部署、日常运维、项目监控软件 【 更是一款原生 ops 软件 / English 】 日常开发中,您是否有以下痛点? 团队中没有专业的运维,开发还要做运维的活 ,需要自己手动构建、部署项目。 不同的项目有不同的构建、部署命令。 有开发、测试、生产等多环境打包的需求。 需要同时监控多个项目的运行状态。 需要下载 SSH 工具 远程连接服务器。 需要下载 FTP 工具 传输文件到服务器。 多台服务器时,在不同电脑之间账号密码同步不方便。 想使用一些自动化工具,但是对服务器性能太高,搭建太麻烦。

AI/机器学习Web后端前端工具部署/运维
作者:用户6868语言:Java更新:2026-10-27
仓库地址
https://gitee.com/dromara/Jpom.git

前往原仓库

README

<p align="center">
	<a href="https://jpom.top/"  target="_blank">
	    <img src="https://jpom.top/images/logo/jpom_logo.svg" width="400" alt="logo">
	</a>
</p>
<p align="center">
	<strong>【dromara】🚀简而轻的低侵入式在线构建、自动部署、日常运维、项目监控软件</strong>
</p>
<p align="center">
   【<strong>更是一款原生 ops 软件</strong> / <a href="https://gitee.com/dromara/Jpom/blob/master/README-en.md">English</a>】
</p>

<p align="center">
	<a target="_blank" href="https://gitee.com/dromara/Jpom">
        <img src='https://gitee.com/dromara/Jpom/badge/star.svg?theme=gvp' alt='gitee star'/>
    </a>
 	<a target="_blank" href="https://github.com/dromara/Jpom">
		<img src="https://img.shields.io/github/stars/dromara/Jpom.svg?style=social" alt="github star"/>
    </a>
 	<a target="_blank" href="https://gitcode.com/dromara/Jpom">
		<img src="https://gitcode.com/dromara/Jpom/star/badge.svg" alt="gitcode star"/>
    </a>
    <a target="_blank" href="https://license.coscl.org.cn/MulanPSL2">
		<img src="https://img.shields.io/:license-MulanPSL2-blue.svg" alt="license"/>
	  </a>
</p>

<p align="center">
  <a target="_blank" href="https://gitee.com/dromara/Jpom">
        <img src='https://img.shields.io/badge/JDK-1.8.0_40+-green.svg' alt='jdk'/>
    </a>
    <a target="_blank" href="https://www.codacy.com/gh/dromara/Jpom/dashboard?utm_source=github.com&amp;utm_medium=referral&amp;utm_content=dromara/Jpom&amp;utm_campaign=Badge_Grade">
      <img src="https://app.codacy.com/project/badge/Grade/843b953f1446449c9a075e44ea778336" alt="codacy"/>
    </a>
  <a target="_blank" href="https://jpom.top/pages/changelog/new/">
		<img src="https://img.shields.io/github/v/release/dromara/Jpom.svg" alt="docker pull"/>
    </a>
    <a target="_blank" href="https://hub.docker.com/repository/docker/jpomdocker/jpom">
		<img src="https://img.shields.io/docker/pulls/jpomdocker/jpom.svg" alt="docker pull"/>
    </a>
</p>

<p align="center">
  👉 大陆站:<a target="_blank" href="https://jpom.top">https://jpom.top</a>  👈
</p>

[https://jpom.top/pages/project-suspended/](https://jpom.top/pages/project-suspended/)

## 😭 日常开发中,您是否有以下痛点?

- <font color="red">**团队中没有专业的运维,开发还要做运维的活**</font>,需要自己手动构建、部署项目。
- 不同的项目有不同的构建、部署命令。
- 有开发、测试、生产等多环境打包的需求。
- 需要同时监控多个项目的运行状态。
- <u>需要下载 SSH 工具</u>远程连接服务器。
- *需要下载 FTP 工具*传输文件到服务器。
- 多台服务器时,在不同电脑之间账号密码同步不方便。
- 想使用一些自动化工具,但是对服务器性能太高,搭建太麻烦。
- **对自动化工具有个性化的需求,想自己修改项目**,但是市面上的工具太复杂了。

> 如果是分布式的项目,以上步骤则更加繁琐。
>
> 让 Jpom 来帮您解决这些痛点吧!然而,这些只是 Jpom 解决的最基础的功能。

### 😁 使用 [Jpom](https://gitee.com/dromara/Jpom) 后

- 方便的用户管理
	1. 用户操作监控,监控指定用户指定操作以邮件形式通知
	2. 多用户管理,用户项目权限独立(上传、删除权限可控制),完善的操作日志,使用工作空间隔离权限
	3. 账号可以开启 **MFA 两步验证**提高账号安全性
- 界面形式实时查看项目运行状态、控制台日志、管理项目文件
	1. 在线修改项目文本文件
- Docker 容器管理、Docker Swarm 集群管理(**Docker UI**)
- **在线 SSH 终端**,让您在没有 PuTTY、Xshell、FinalShell 等软件也能轻松管理服务器
	1. 登录 Jpom 系统后不需要知道服务器密码
	2. 能指定 SSH 禁止执行的命令,避免执行高风险命令,并且能自动执行命令日志
	3. 设置文件目录,在线查看管理对应项目文件及配置文件
	4. SSH 命令模版在线执行脚本还能定时执行
	5. 在线修改文本文件
	6. **轻量的实现了简单的"堡垒机"功能**
- 使用项目分发一键搞定集群项目多机部署
- 在线构建不用手动更新升级项目
	1. 支持拉取 GIT、SVN 仓库
	2. **支持容器构建(docker)**
	3. 支持 SSH 方式发布
	4. 支持定时构建
	5. 支持 WebHook 形式触发构建
- 支持在线编辑 nginx 配置文件并自动 reload 等操作
	1. 管理 nginx 状态,管理 SSL 证书
- 项目状态监控异常自动报警、自动尝试重启
	1. 支持邮件 + 钉钉群 + 微信群通知,主动感知项目运行状况
- 节点脚本模版+定时执行或者触发器,拓展更多功能
- 重要路径授权配置,杜绝用户误操作系统文件

### 🔔️ 特别提醒

> 1. 在 Windows 服务器中可能有部分功能因为系统特性造成兼容性问题,建议在实际使用中充分测试。Linux 目前兼容性良好
> 2. 服务端和插件端请安装到不同目录中,切勿安装到同一目录中
> 3. 卸载 Jpom 插件端或者服务端,先停止对应服务,然后删除对应的程序文件、日志文件夹、数据目录文件夹即可
> 4. 本地构建依赖的是系统环境,如果构建命令需要使用 maven 或者 node
	 需要在构建项目的服务器安装好对应的环境。如果已经启动服务端再安装的对应环境需要通过命令行重启服务端后环境才会生效。
> 5. 在 Ubuntu/Debian 服务器作为插件端可能会添加失败,请在当前用户的根目录创建 .bash_profile 文件
> 6. 升级 2.7.x 后不建议降级操作,会涉及到数据不兼容的情况
> 7. 由于目前 2.x.x 版本插件端和服务端主要采用 http 协议通讯,插件端和服务端网络要求互通,在使用的时候请注意。
> 8. Jpom 3.0 版本已经开始规划更新了,尽请期待新版本的诞生吧

### 🗒️ [版本更新日志](https://gitee.com/dromara/Jpom/blob/master/CHANGELOG.md)

升级前必看:[CHANGELOG.md](https://gitee.com/dromara/Jpom/blob/master/CHANGELOG.md)

## 📥 安装 Jpom

Jpom 支持多种安装方式,满足不同用户的个性化需求,您只需要选择一种方式安装即可。

### 方式一:🚀(推荐) 一键安装(Linux)

#### 一键安装服务端

> **注意:安装的目录位于执行命令的目录!**
>
> ⚠️ 特别提醒:一键安装的时候注意执行命令不可在同一目录下,即 Server 端和 Agent 端不可安装在同一目录下!
>
> 如果需要修改服务端数据、日志存储的路径请修改
> [`application.yml`](https://gitee.com/dromara/Jpom/blob/master/modules/server/src/main/resources/config_default/application.yml)
> 文件中 `jpom.path` 配置属性。

```shell
# 一键默认安装
curl -fsSL https://jpom.top/docs/install.sh | bash -s Server jdk+default
# 一键默认安装 + 自动配置开机自启服务
curl -fsSL https://jpom.top/docs/install.sh | bash -s Server jdk+default+service

# 安装服务端和 jdk 环境
yum install -y wget && \
wget -O install.sh https://jpom.top/docs/install.sh && \
bash install.sh Server jdk

# 安装服务端和 jdk、maven 环境
yum install -y wget && \
wget -O install.sh https://jpom.top/docs/install.sh && \
bash install.sh Server jdk+mvn

# ubuntu
apt-get install -y wget && \
wget -O install.sh https://jpom.top/docs/install.sh && \
bash install.sh Server jdk
```

启动成功后,服务端的端口为 `2122`,可通过 `http://127.0.0.1:2122/`
访问管理页面(如果不是本机访问,需要把 127.0.0.1 换成您安装的服务器 IP 地址)。

> 如无法访问管理系统,执行命令 `systemctl status firewalld` 检查下是否开启了防火墙
> ,如状态栏看到绿色显示 `Active: active (running)` 需要放行 `2122` 端口。
>
>```bash
># 放行管理系统的 2122 端口
>firewall-cmd --add-port=2122/tcp --permanent
># 重启防火墙才会生效
>firewall-cmd --reload
>```
>
>如果在操作系统上放行了端口仍无法访问,并且您使用的是云服务器,请到云服务器后台中检查安全组规则是否放行 2122 端口。
>
>⚠️ 注意: Linux 系统中有多种防火墙:Firewall、Iptables、SELinux 等,再检查防火墙配置时候需要都检查一下。

#### 一键安装插件端

> 如果安装服务端的服务器也需要被管理,在服务端上也需要安装插件端(同一个服务器中可以同时安装服务端和插件端)
>
> ⚠️ 特别提醒:一键安装的时候注意执行命令不可在同一目录下,即 Server 端和 Agent 端不可安装在同一目录下!
>
> 如果需要修改插件端数据、日志存储的路径请修改
> [`application.yml`](https://gitee.com/dromara/Jpom/blob/master/modules/agent/src/main/resources/config_default/application.yml)
> 文件中 `jpom.path` 配置属性。

```shell
# 一键默认安装
curl -fsSL https://jpom.top/docs/install.sh | bash -s Agent jdk+default
# 一键默认安装 + 自动配置开机自启服务
curl -fsSL https://jpom.top/docs/install.sh | bash -s Agent jdk+default+service

# 安装插件端和 jdk 环境
yum install -y wget && \
wget -O install.sh https://jpom.top/docs/install.sh && \
bash install.sh Agent jdk

# ubuntu
apt-get install -y wget && \
wget -O install.sh https://jpom.top/docs/insta