# EasyDeploy **Repository Path**: wangruifeng99/easy-deploy-pub ## Basic Information - **Project Name**: EasyDeploy - **Description**: 本地 Java 代码发布神器,支持 Git/SVN,能发已提交 / 未提交文件,只适配 JetBrains IDEA,简单易上手,一键搞定项目发布。 - **Primary Language**: Java - **License**: MulanPSL-2.0 - **Default Branch**: v1.0 - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2026-01-23 - **Last Updated**: 2026-02-13 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # EasyDeploy EasyDeploy 是一个轻量级的部署工具,主要用于管理代码仓库、服务器配置和部署流程。该项目基于 Spring Boot 和 JavaFX 开发,提供了图形化界面来简化部署操作。比Jenkins更便捷,适合小型团队使用。 ## 功能特性 - **仓库管理**:支持 Git 和 SVN 仓库的配置和管理 - **服务器管理**:支持多环境服务器配置和管理 - **部署功能**:支持文件部署和热部署 - **备份管理**:自动创建备份并支持一键回退 - **凭证管理**:安全的密码存储和管理 - **导入导出**:支持仓库配置和服务器配置的导入导出 ## 系统要求 - Java 21 或更高版本 - Maven 3.6+ ## 快速开始 ### 1. 克建项目 ```bash git clone https://gitee.com/wangruifeng99/easy-deploy-dev.git cd easy-deploy-dev ``` ### 2. 编译项目 ```bash mvn clean compile ``` ### 3. 运行应用 ```bash mvn spring-boot:run ``` 或打包后运行: ```bash mvn package java -jar target/easy-deploy-0.1.jar ``` ## 主要功能 ### 仓库管理 - **新增仓库**:支持 Git 和 SVN 仓库的添加 - **修改仓库**:编辑仓库配置信息 - **删除仓库**:删除仓库配置 - **切换仓库**:在多个仓库间切换 - **导入导出**:支持仓库配置的批量导入导出 ### 服务器管理 - **环境分组**:支持多环境服务器分组管理 - **服务器配置**:配置服务器连接信息 - **导入导出**:支持服务器配置的批量导入导出 ### 部署功能 - **文件部署**:将本地文件部署到远程服务器 - **热部署**:支持应用热部署(需服务器支持) - **自动备份**:部署前自动创建文件备份 ### 备份管理 - **查看发布记录**:查看历史部署记录 - **一键回退**:将文件恢复到备份版本 - **权限控制**:用户只能看到自己的备份记录 ### 凭证管理 - **安全存储**:使用 RSA 加密存储密码 - **凭证配置**:管理仓库访问凭证 ## 配置说明 ### 数据库配置 项目使用 SQLite 作为本地数据库,配置信息存储在 `setting.db` 文件中。 ### 主要配置表 - `easy_repo`:仓库配置表 - `easy_host`:服务器配置表 - `easy_backup_task`:备份任务表 - `easy_backup_file_list`:备份文件列表表 - `easy_repo_credential`:仓库凭证表 ## 安全特性 - **密码加密**:所有密码使用 RSA 加密存储 - **SSH 连接**:使用 JSch 库建立安全 SSH 连接 - **SQL 注入防护**:使用参数化查询防止 SQL 注入 - **权限控制**:用户只能访问自己的配置和备份记录 ## 使用说明 ### 仓库配置 1. 启动应用后,如果未配置仓库,会自动弹出仓库配置界面 2. 点击"新增仓库",选择本地仓库目录 3. 系统会自动识别仓库类型(Git/SVN) 4. 填写必要的认证信息(SVN 需要用户名密码) ### 服务器配置 1. 通过"设置"菜单进入服务器管理界面 2. 创建环境分组(如 dev、test、prod) 3. 添加服务器配置,填写 IP、端口、用户名、密码等信息 4. 设置项目根目录和备份目录 ### 部署流程 1. 在主界面选择要部署的文件 2. 选择目标服务器 3. 点击"发布"按钮开始部署 4. 系统会自动创建备份并执行部署 ## 故障排除 ### 连接问题 - 检查服务器 IP、端口、用户名、密码是否正确 - 确认服务器 SSH 服务是否正常运行 - 检查防火墙设置 ### 部署失败 - 检查目标目录权限 - 确认本地文件路径正确 - 查看日志信息定位具体错误 ### 备份恢复失败 - 检查备份文件是否存在 - 确认目标路径权限 - 查看错误日志获取详细信息 ## 日志管理 - 日志文件位于 `logs/easy-deploy.log` - 支持按日期滚动的日志文件 - 记录所有操作和错误信息 ## 注意事项 1. **数据备份**:定期备份 `setting.db` 数据库文件 2. **权限管理**:确保应用程序有足够的文件系统权限 3. **网络连通性**:确保与目标服务器的网络连通性 4. **安全性**:妥善保管数据库文件和配置信息 ## 技术栈 - **后端框架**:Spring Boot 3.2.0 - **前端界面**:JavaFX 21.0.1 - **数据库**:SQLite - **版本控制**:Git/SVN - **SSH 连接**:JSch ## 开发 ### 项目结构 ``` src/ ├── main/ │ ├── java/com/easy/deploy/ │ │ ├── core/ # 核心业务逻辑 │ │ ├── ui/ # 用户界面 │ │ ├── util/ # 工具类 │ │ └── update/ # 更新管理 │ └── resources/ # 配置文件和资源 └── test/ # 测试代码 ``` ### 模块说明 - **core**:包含部署、读取、安全管理等核心功能 - **ui**:JavaFX 界面组件 - **util**:通用工具类 - **update**:应用更新功能 ## 许可证 MIT License ## 贡献 欢迎提交 Issue 和 Pull Request 来改进项目。 --- *版本:0.1* *开发者:Rayn* *最后更新:2026年2月*