# mars-deploy **Repository Path**: Marsfactory/mars-deploy ## Basic Information - **Project Name**: mars-deploy - **Description**: MarsDeploy - 轻量级 CICD 自动化部署平台 - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 13 - **Forks**: 9 - **Created**: 2025-11-28 - **Last Updated**: 2025-12-01 ## Categories & Tags **Categories**: DevOps **Tags**: None ## README # MarsDeploy - 轻量级 CICD 自动化部署平台

MarsDeploy 首页

## 项目简介 MarsDeploy 是一套用于 Java / Vue 项目的自动构建、自动上传、自动部署的平台。提供可视化项目管理、服务器管理、构建任务、实时日志、文件管理、服务器监控等能力。 ## 最新更新 🎉 ### v1.2.0 (2025-12-02) - ✨ **文件管理**:支持服务器文件浏览、上传、下载、删除等操作 - 📊 **服务器监控**:新增服务器监控面板,实时查看 CPU、内存、磁盘、网络等统计信息 - 📈 **可视化图表**:监控面板采用 ECharts 仪表盘图表,数据展示更直观 - 🖥️ **全屏模式**:SSH 控制台和监控面板均支持全屏展示 - 🔄 **交互优化**:监控面板支持手动刷新,操作更灵活 ### v1.1.0 (2025-12-01) - 🎨 **主题切换**:支持亮色/暗黑模式自由切换,优化视觉体验 - 🔌 **插件市场**:一键安装基础环境(Git、JDK、Node.js、Docker、Python、Maven) - 🔌 **插件市场**:一键安装中间件(Nginx、MySQL、Redis、MongoDB) - 📡 **实时日志**:插件安装/卸载过程 WebSocket 实时日志推送 - ♻️ **失败重试**:支持安装失败后重新安装,自动清理失败记录 ## 系统架构 - **前端**:Vue3 + Vite + Naive UI + ECharts + @vicons/ionicons5 - **后端**:Spring Boot 3 + MyBatis-Plus + Sa-Token - **数据库**:MySQL 8.0 - **其他**:WebSocket、JGit、JSch、xterm.js、JSch ## 核心功能 ### 1. 登录权限 - JWT / Sa-Token 鉴权 - 用户权限控制 - 角色管理 ### 2. 项目管理

项目管理

- 项目新增/编辑 - Git 地址配置 - 分支管理 - 构建命令配置(mvn / npm) - 产物路径配置 - 绑定服务器 - 多服务器部署支持 ### 3. 构建任务管理

构建历史

- 一键触发构建 - 构建队列 - 实时日志 WebSocket - 构建结果记录 - 构建历史列表

构建详情

### 4. 服务器管理

服务器管理

- 主机管理 - SSH 连接测试 - SSH Web 控制台 - 部署目录 - 停止、启动命令 - 密码/SSH Key 登录 - 服务器监控面板(CPU、内存、磁盘、网络) ### 5. SSH Web 控制台

SSH控制台

- 基于 xterm.js 实现 - 支持全屏模式 - 实时交互操作 - 类似 XShell 的使用体验 ### 6. 文件管理

文件管理

- 服务器文件浏览 - 文件上传/下载 - 文件删除 - 目录切换 - SFTP 协议传输 ### 7. 插件市场

插件市场

- 一键安装基础环境(Git、JDK、Node.js、Docker、Python、Maven) - 一键安装中间件(Nginx、MySQL、Redis、MongoDB) - 实时安装日志推送 - 安装状态管理 - 失败重试机制 ### 8. 自动化部署流程 - Git 自动拉取 - 自动构建(Java / Vue) - 产物收集 - SFTP 上传 - 执行部署脚本 - 状态回写 ## 快速开始 ### 环境要求 - JDK 17+ - Node.js 16+ - MySQL 8.0+ - Maven 3.6+ ### 后端启动 ```bash # 1. 导入数据库 mysql -u root -p < src/main/resources/sql/schema.sql # 2. 修改配置文件 # 编辑 src/main/resources/application.yml # 修改数据库连接信息 # 3. 启动后端 mvn clean package java -jar target/mars-deploy-1.0.0.jar ``` ### 前端启动 ```bash cd web # 安装依赖 npm install # 启动开发服务器 npm run dev # 构建生产版本 npm run build ``` ### Docker 部署 ```bash # 1. 构建后端 mvn clean package # 2. 构建前端 cd web npm install npm run build cd .. # 3. 启动 Docker Compose docker-compose up -d ``` 访问地址:http://localhost ## 默认账号 - 用户名:admin - 密码:admin123 ## 目录结构 ``` mars-deploy/ ├── src/ # 后端源码 │ ├── main/ │ │ ├── java/ │ │ │ └── com/mars/deploy/ │ │ │ ├── config/ # 配置类 │ │ │ ├── controller/ # 控制器 │ │ │ ├── entity/ # 实体类 │ │ │ ├── mapper/ # Mapper │ │ │ ├── service/ # 服务层 │ │ │ ├── utils/ # 工具类 │ │ │ └── websocket/ # WebSocket │ │ └── resources/ │ │ ├── sql/ # SQL脚本 │ │ └── application.yml # 配置文件 ├── web/ # 前端源码 │ ├── src/ │ │ ├── api/ # API接口 │ │ ├── router/ # 路由 │ │ ├── views/ # 页面 │ │ ├── App.vue │ │ └── main.js │ ├── index.html │ ├── package.json │ └── vite.config.js ├── Dockerfile # Docker 镜像 ├── docker-compose.yml # Docker Compose ├── nginx.conf # Nginx 配置 └── pom.xml # Maven 配置 ``` ## 技术选型 ### 后端 - Spring Boot 3.0.5 - MyBatis-Plus 3.5.5 - Sa-Token 1.37.0 - JGit 6.8.0 - JSch 0.2.16 - Hutool 5.8.25 - WebSocket(实时日志推送) ### 前端 - Vue 3.4.0 - Vite 5.0.0 - Naive UI 2.38.0 - ECharts 5.4.0 - Axios 1.6.2 - xterm.js 5.3.0 - @vicons/ionicons5 0.12.0 ## 使用说明 ### 1. 添加服务器 进入"服务器管理",点击"新增服务器",填写服务器信息: - 服务器名称 - 主机地址和端口 - 用户名和密码(或 SSH Key) - 上传目录 - 启动/停止命令 点击"测试连接"确保服务器可以正常连接。 ### 2. 创建项目 进入"项目管理",点击"新增项目",填写项目信息: - 项目名称 - Git 地址和分支 - Git 认证信息(如需要) - 项目类型(Java/Vue) - 构建命令(如:mvn clean package -DskipTests) - 产物路径(如:target/*.jar) - 选择部署服务器(支持多选) ### 3. 触发构建 在项目列表中点击"触发构建",系统将自动: 1. 拉取 Git 代码 2. 执行构建命令 3. 收集构建产物 4. 上传到服务器 5. 执行部署脚本 ### 4. 查看日志 点击"查看详情"可以实时查看构建日志,通过 WebSocket 实时推送。 ### 5. 服务器监控 在服务器管理页面,点击"监控面板"按钮: - 实时查看 CPU 使用率(仪表盘图表) - 实时查看内存使用情况 - 实时查看磁盘空间占用 - 查看网络流量统计 - 查看系统信息、进程数、负载均值等 - 支持手动刷新数据 - 支持全屏展示 ### 6. 文件管理 在文件管理页面,可以: - 浏览服务器文件系统 - 上传本地文件到服务器 - 下载服务器文件到本地 - 删除服务器文件 - 切换目录 ### 7. SSH 控制台 在服务器管理页面,点击"控制台"按钮: - 打开 Web SSH 终端 - 执行 Linux 命令 - 支持全屏模式 - 类似 XShell 的操作体验 ### 8. 插件市场 在插件市场页面,可以: - 一键安装开发环境(Git、JDK、Node.js 等) - 一键安装中间件(Nginx、MySQL、Redis 等) - 实时查看安装日志 - 卸载已安装插件 ## 常见问题 ### 1. Git 克隆失败 - 检查 Git 地址是否正确 - 检查网络连接 - 如果是私有仓库,需要配置认证信息 ### 2. SSH 连接失败 - 检查服务器地址和端口 - 检查用户名和密码 - 检查防火墙设置 - 确保服务器已安装 SSH 服务 ### 3. 构建失败 - 检查构建命令是否正确 - 检查项目依赖是否完整 - 查看详细日志定位问题 - 确保服务器有足够的磁盘空间 ### 4. 文件上传失败 - 检查目标目录是否存在 - 检查目录权限 - 检查磁盘空间是否充足 ### 5. 监控数据获取失败 - 确保服务器是 Linux 系统 - 确保有足够的权限执行系统命令 - 检查 SSH 连接是否正常 ## 功能特色 ✨ **一站式 CI/CD 解决方案**:从代码拉取到构建部署,全流程自动化 📊 **实时监控**:服务器资源实时监控,性能一目了然 🎨 **精美UI**:基于 Naive UI,支持亮色/暗黑主题切换 🔌 **插件生态**:一键安装常用开发环境和中间件 📁 **文件管理**:Web 端直接管理服务器文件 🖥️ **Web终端**:浏览器内直接操作服务器 📈 **数据可视化**:ECharts 图表展示构建趋势和监控数据 🚀 **轻量高效**:Docker 一键部署,开箱即用 ## License MIT License ## 作者 👨‍💻 **程序员Mars** - 抖音技术博主 - 精通 Java/Python 开发 - 分布式系统架构师 - 爬虫技术专家 ## 联系方式 如有问题,欢迎提 Issue 或 PR。 --- ⭐ 如果这个项目对你有帮助,欢迎 Star!