# DevOps-Engineer **Repository Path**: waitxy/dev-ops-engineer ## Basic Information - **Project Name**: DevOps-Engineer - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-04-16 - **Last Updated**: 2026-04-22 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # DevOps Engineer 一个简而轻的低侵入式在线构建、自动部署、日常运维、项目监控软件。 ## 功能特性 ### 1. Docker容器管理 - Docker容器可视化管理 - Docker Swarm集群管理 - 容器状态监控 ### 2. 在线SSH终端 - 无需PuTTY、Xshell等客户端 - 登录后无需知道服务器密码 - 禁止执行高风险命令 - 命令日志自动记录 - 在线文件管理 - SSH脚本模板和定时执行 - 轻量级堡垒机功能 ### 3. 自动化构建部署 - 支持GIT/SVN仓库拉取 - Docker容器构建 - SSH方式发布 - 定时构建 - WebHook触发构建 - 多机集群部署 ### 4. 用户权限管理 - 多用户管理 - 基于项目的权限控制 - 操作日志审计 - MFA两步验证 - 用户操作监控和邮件通知 ### 5. 项目监控 - 实时查看项目运行状态 - 控制台日志实时查看 - 异常自动报警 - 自动重启 - 支持邮件、钉钉、微信通知 ### 6. 文件存储 - 集成x-file-storage - 支持本地存储、阿里云OSS、华为云OBS、七牛云Kodo、腾讯云COS、MinIO、Amazon S3 ## 技术栈 ### 后端 - Spring Boot 3.0.2 - MyBatis Plus 3.5.5 - Sa-Token 1.37.0 (权限认证) - Redis (缓存) - MySQL 8.0 (数据库) - Docker Java API (Docker管理) - JSch (SSH连接) - JGit (Git操作) - x-file-storage (文件存储) ### 前端(待开发) - Vue 3 - Element Plus - WebSocket (实时通信) ## 快速开始 ### 方式一: Docker Compose部署(推荐) ```bash # 1. 克隆项目 git clone cd DevOps-Engineer # 2. 构建并启动 docker-compose up -d # 3. 访问应用 http://localhost:8080 # 默认账号: admin # 默认密码: admin123 ``` ### 方式二: 本地开发部署 #### 1. 环境要求 - JDK 17+ - Maven 3.6+ - MySQL 8.0+ - Redis 6.0+ #### 2. 初始化数据库 ```bash # 创建数据库并导入SQL脚本 mysql -u root -p < sql/init.sql ``` #### 3. 修改配置 编辑 `src/main/resources/application.yml`: ```yaml spring: datasource: url: jdbc:mysql://localhost:3306/devops_engineer?... username: your-username password: your-password data: redis: host: localhost port: 6379 ``` #### 4. 编译运行 ```bash # 编译 mvn clean package -DskipTests # 运行 java -jar target/DevOps-Engineer-0.0.1-SNAPSHOT.jar ``` #### 5. 访问应用 ``` http://localhost:8080 ``` ## 项目结构 ``` DevOps-Engineer/ ├── src/ │ ├── main/ │ │ ├── java/ │ │ │ └── com/szx/devops/ │ │ │ ├── common/ # 通用模块 │ │ │ ├── config/ # 配置类 │ │ │ ├── controller/ # 控制器 │ │ │ ├── entity/ # 实体类 │ │ │ ├── mapper/ # Mapper接口 │ │ │ ├── service/ # 服务层 │ │ │ └── DevOpsEngineerApplication.java │ │ └── resources/ │ │ ├── application.yml # 配置文件 │ │ └── mapper/ # MyBatis XML │ └── test/ ├── sql/ │ └── init.sql # 数据库初始化脚本 ├── Dockerfile # Docker镜像构建文件 ├── docker-compose.yml # Docker编排文件 └── pom.xml # Maven配置 ``` ## API文档 ### 认证接口 - `POST /auth/login` - 用户登录 - `POST /auth/logout` - 用户登出 - `GET /auth/userinfo` - 获取当前用户信息 ### 服务器管理 - `GET /server/list` - 服务器列表 - `POST /server/add` - 添加服务器 - `PUT /server/update` - 更新服务器 - `DELETE /server/{id}` - 删除服务器 ### 项目管理 - `GET /project/list` - 项目列表 - `POST /project/add` - 创建项目 - `POST /project/build` - 触发构建 - `POST /project/deploy` - 触发部署 ### SSH终端 - `WebSocket /ssh/connect` - SSH连接 ## 配置说明 ### 邮件配置 在 `application.yml` 中配置SMTP: ```yaml spring: mail: host: smtp.qq.com port: 465 username: your-email@qq.com password: your-auth-code ``` ### 文件存储配置 支持多种存储平台,在 `application.yml` 中配置: ```yaml dromara: x-file-storage: default-platform: local local: - platform: local enable: true storage-path: /data/files/ domain: http://localhost:8080/files/ ``` ## 安全建议 1. **修改默认密码**: 首次登录后立即修改admin密码 2. **启用MFA**: 为重要账号开启两步验证 3. **配置HTTPS**: 生产环境建议使用HTTPS 4. **防火墙配置**: 仅开放必要端口 5. **定期备份**: 定期备份数据库和重要文件 ## 开发计划 - [ ] 完善前端页面 - [ ] Docker Swarm集群管理 - [ ] SSH终端WebSocket实现 - [ ] 自动化构建部署流程 - [ ] 监控告警系统 - [ ] 定时任务调度 - [ ] WebHook支持 - [ ] 操作日志审计 - [ ] 性能优化 ## 许可证 MIT License ## 联系方式 如有问题或建议,请提交Issue。