告别繁琐的工具切换:我写了一款 IDEA 插件 DeployX,实现“备份-增量同步-解压-重启”一气呵成
作为一名日常与服务器打交道的开发者,你是否也曾被繁琐的部署流程折磨过?
在写完代码后,为了将更新部署到测试或生产环境,我们通常需要经历以下一连串的操作:
- 打开 SSH 工具(如 XShell、WindTerm、Xterminal 等)连上服务器。
- 手动备份原有的运行文件/目录,以防更新后出现问题需要回滚。
- 打开 SFTP 客户端开始上传文件:
- 前端项目:通常需要上传打包好的压缩包,上传完后还要在终端里执行
unzip命令进行解压。 - 后端项目:更新单个 Jar 包还好,但如果更新了多个模块,知道哪个更新了去上传哪个,如果不知道就只能全量更新。面对测试环境常常“感人”的带宽限制,全量上传极其考验耐心。
- 前端项目:通常需要上传打包好的压缩包,上传完后还要在终端里执行
- 重启服务:文件上传/解压完成后,在终端中敲入重启脚本,等待服务拉起。
虽然 JetBrains 自带的 Deployment 插件对文件的增量上传已经提供了不错的支持,但它无法涵盖“上传前的备份”、“上传后的解压”以及“重启服务”等后置操作,我们依然不得不在 IDE、SFTP 客户端和 SSH 终端之间来回切换。
为了彻底解决这个痛点,我开发了一款 IntelliJ IDEA 插件 —— DeployX(项目曾用名 File Sync Tool)。它的核心理念就是将“备份、增量同步、解压、重启服务(执行 Shell 脚本)”整合成一条自动化工作流,在 IDE 内一气呵成。
一、 DeployX 核心特性

DeployX 是一款集成了本地文件/目录到远程服务器快速同步、部署、备份、解压和远程命令执行的一体化Jetbrains IDEA 插件工具,主要具备以下特色:
- 极其高效的增量同步(支持 rsync)
对于多文件或大文件更新,DeployX 支持利用内置的或系统的rsync工具进行差异化增量传输。它只会上传修改过的文件,极大节省了上传带宽,告别“蜗牛网速”的折磨。 - 完整的自动化部署链路
你可以在一次配置中同时启用“部署前备份”、“上传后解压”以及“上传后命令(如服务重启命令)”。点击运行后,插件将全自动按顺序执行。 - IDE 级别集成,自带内置终端
无需再打开外部 SSH 工具,在插件中配置好服务器后,右键即可直接在 IDE 内部拉起该服务器的终端窗口。 - 灵活多样的规则配置
支持多组目录映射、文件/目录排除规则(排除不必要的资源),并支持上传前后命令的灵活定义。
二、 功能界面与配置演示
1. 简单直观的服务器管理
在 IDEA 的 Settings -> Tools -> DeployX -> 服务器管理 中,你可以统一管理多台目标服务器,支持主流的 SSH 密码认证与密钥认证,并支持一键连接测试。

2. 精细化的目录映射(Mapping)
在目录映射配置页,你可以为不同项目新建多条部署路径。在这里,可以针对特定的项目开启备份、解压、以及上传前/后命令。
例如,对于后端 Jar 包,我们可以配置上传后自动切换到远程目录执行:
sh stop.sh ; sleep 3s; sh start.sh;


3. 灵活的一键部署与终端联动
配置完成后,在项目目录结构中右键,即可在上下文菜单中快捷找到 DeployX 提供的功能,例如一键执行 Sync to Server 或一键开启当前主机的 SSH 终端。

点击部署后,DeployX 的侧边栏和下方的控制台会实时输出部署日志。从下方的日志中可以看到,插件自动使用 rsync 进行了高速增量传输,并在传输完成后自动反馈部署结果。

同时,你可以直接利用下方的终端面板快速查看服务状态,无需跳出 IDEA 环境:

三、 总结与开源地址
DeployX 并非要彻底替代专业的运维部署工具(如 Jenkins 等 CI/CD 流程),而是为了给开发者在本地开发、联调测试、日常小版本快速更新时提供一个轻量、高效、省时省力的部署利器。
目前该项目已在 GitHub 开源,欢迎感兴趣的开发者体验并提出宝贵的意见(欢迎 Star/Fork/Issue):
- GitHub 开源地址:https://github.com/zhengmingliang/DeployX
如果你在使用中发现了 Bug,或者有更好的 Feature 建议,欢迎在 GitHub 上提交 Issue,我们一起让这款插件变得更好用!
Q.E.D.


