# DevDock **Repository Path**: cwxue/dev-dock ## Basic Information - **Project Name**: DevDock - **Description**: 本地联调启动台,扫描 Node / Maven 项目,一键启停子服务、看日志、保存联调组合 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-07-31 - **Last Updated**: 2026-09-09 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # DevDock 本地项目联调启动台。扫描指定目录下的 Node / Maven 项目,一键启停子服务,统一查看日志,并保存常用联调组合。适合前后端、微服务日常联调。 仓库:[https://gitee.com/cwxue/dev-dock](https://gitee.com/cwxue/dev-dock) ## 亮点 1. **多服务集中管理** 十几个后端微服务和前端项目可以收在同一面板:一键启停、统一看日志,不用再开一堆终端或 IDEA 逐个点启动。微服务项目组尤其省事。 2. **前后端一起管** 同时支持 npm / pnpm / yarn 前端,以及 Maven 多模块 Spring Boot。自动识别包管理器,无需手改启动命令,做本地全栈联调更顺手。 3. **端口占用自动处理** 启动前检测并释放占用端口,减少「上次异常退出、端口没放掉、这次起不来」的情况,少做一遍 `netstat` 查 PID、手动杀进程。 4. **联调集一键恢复** 把当前跑着的服务存成联调集;下次上班点「恢复联调集」按组合依次拉起,适合固定的本地联调环境(例如一套业务要起十来个服务)。 5. **桌面端开箱即用** 提供 Windows 安装包,同事装好就能用,不必各自配依赖或部署服务;适合在团队内部分发。 ## 适用场景 - **微服务团队**:本地要同时拉起十几个后端服务,不想在 IDEA / 命令行里逐个点启动和关停。 - **前后端本地联调**:前端(npm / pnpm / yarn)和后端(Maven / Spring Boot)都在本机跑,需要统一管理、一块看日志。 - **固定联调环境**:某条业务线每次开发都要起同一套服务组合,用联调集保存后一键恢复即可。 - **端口经常打架**:服务异常退出后端口残留,下次启动失败;希望启动前自动释放占用端口。 - **团队内部分享**:给同事发一个安装包就能用,减少每人各自配脚本、记启动命令的成本。 ## 功能 - 多扫描根目录,识别 `package.json` / `pom.xml` 项目 - 支持 npm / pnpm / yarn,以及 Maven 多模块 Spring Boot(`-pl` 启动) - 启动前释放占用端口;从日志识别本地地址并打开浏览器 / Knife4j 文档 - 会话恢复:关闭 DevDock 不杀已启动进程,下次仍可停止或继续管理 - 健康一览:内存占用、托管进程数、端口是否在监听 - 联调集:保存 / 恢复常用启动组合;支持一键关闭全部服务 - 扫描与刷新分离:扫描发现新项目,刷新只更新运行态与端口 - 列表可临时移除项目(再次扫描会重新出现) - 浅色 / 深色主题,最大化时内容居中且高度随窗口拉伸 ## 环境要求 - Windows x64 - [Node.js](https://nodejs.org/)(建议 LTS) - 本地已安装对应包管理器;Maven 项目需本机或 IDEA 自带 `mvn` ## 开发运行 ```bash npm install npm start ``` 调试(打开 DevTools): ```bash npm run dev ``` ## 打包 ```bash npm run dist ``` 日常快速验证(只生成解压目录、不打安装包): ```bash npm run dist:fast ``` 产物在 `dist/`,例如: - `DevDock-1.0.0-Setup.exe` — 安装包(可选安装目录;有 E/D 盘时默认 `E:\DevDock` / `D:\DevDock`) 打包后脚本会清理非 `.exe` 中间产物。日常使用请用桌面快捷方式启动。 ## 使用说明 1. **添加目录**:选择要扫描的项目根(如 `E:\project`) 2. **扫描 / 刷新**:扫描会重新发现项目;刷新只更新运行状态与端口 3. **运行 / 停止**:单应用直接点运行;Monorepo / Maven 多模块点选子服务 4. **日志**:右侧面板查看输出;可清空 5. **保存联调集**:把当前运行中的服务记下来;下次点「恢复联调集」依次启动 6. **移除项目**:行内 `×` 仅从当前列表去掉,再次扫描会重新出现 配置保存在系统用户目录下的 `config.json`(扫描根、会话、联调集等),与安装路径无关。 ## 目录结构 ``` main.js # Electron 主进程 preload.js # 预加载桥接 index.html # 界面 build/ # 图标、NSIS 脚本 scripts/ # 打包入口、后处理、图标生成等 ``` ## 快捷键 - `Ctrl+Shift+H`:聚焦 DevDock 窗口 ## License MIT