# AutoFarm2 **Repository Path**: macplus/auto-farm2 ## Basic Information - **Project Name**: AutoFarm2 - **Description**: AutoDeploy是SpringBoot+Vue3项目自动化部署工具。基于旧版本创建新部署包,自动构建后端WAR和前端dist文件。智能迁移配置文件和数据库SQL升级脚本,确保版本一致性验证。支持YAML配置,集成Jsoup解析和SLF4J日志,遵循安全部署原则,实现从源码到安装包的全流程自动化。 - **Primary Language**: Java - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-02-20 - **Last Updated**: 2026-02-20 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # AutoDeploy - SpringBoot+Vue3自动化部署工具(SKC智能知识协作系统,自动化部署打包工具) AutoDeploy是一款专为SpringBoot+Vue3项目设计的自动化部署解决方案,能够将源码项目一键打包成完整的安装包。 ## 🚀 核心功能 ### 智能部署包创建 - 基于旧版本部署包创建新版本 - 自动清理webs目录内容,保留必要结构 - 在源部署包同级目录生成新版本 ### 双端一体化构建 **SpringBoot后端**: - 自动执行Maven构建流程 - 部署WAR文件到目标目录 - 完整的WEB-INF目录结构迁移 **Vue3前端**: - 执行npm构建生成dist文件 - 自动部署到ROOT目录 - 支持生产环境优化构建 ### 配置智能管理 - JDBC、日志等配置文件自动恢复 - farm2.properties关键配置项更新 - index.html运行时属性智能迁移 - 使用Jsoup确保HTML解析准确性 ### 数据库升级自动化 - 自动识别匹配版本的SQL升级文件 - 安全合并到skc.sql,防止重复执行 - 完善的重复语句检测机制 ### 版本一致性验证 - 检查源码版本号与配置版本号匹配 - 确保部署准确性的前置验证 ## 🛠 技术架构 - **语言**:Java 17 - **构建工具**:Maven 3.x + npm - **配置格式**:YAML(UTF-8编码) - **核心依赖**:Jsoup、SLF4J、SnakeYAML - **日志框架**:Logback ## ⚙️ 配置说明 ```yaml # 部署配置 deployment: previousVersionPath: "旧版本部署包路径" skcProjectPath: "SpringBoot项目源码路径" vue3ProjectPath: "Vue3项目源码路径" versions: old: "1.1.0" new: "1.1.1" # 构建配置 build: skipTests: true mavenCommand: "mvn clean install" ``` ## 📦 使用方法 1. 配置`config.yaml`文件 2. 执行构建命令: ```bash mvn compile exec:java ``` ## 🔒 安全特性 - 严格遵循只读旧部署包原则 - 文件覆盖前的完整性检查 - SQL重复语句防护机制 - 详细的日志记录和错误处理 ## 📊 项目结构 ``` AutoDeploy/ ├── src/main/java/org/farm2/ │ ├── Main.java # 程序入口 │ ├── service/ # 核心服务层 │ └── utils/ # 工具类库 ├── config.yaml # 配置文件 └── pom.xml # 项目依赖 ``` ## 🎯 适用场景 - 企业级SpringBoot+Vue3项目部署 - 多环境版本管理和升级 - 自动化CI/CD流程集成 - 标准化部署包生成 --- *AutoDeploy - 让部署变得更简单*