建木(Jianmu)使用手册
✅ 项目简介
建木是一个开源的DevOps平台,专注于自动化持续集成与持续部署流程。作为新一代CI/CD工具,建木提供了强大的工作流编排能力,帮助开发团队实现高效的自动化部署。
核心特性
-
• 🚀 可视化工作流编排 - 拖拽式流程设计,降低使用门槛
-
• 🔧 丰富的节点生态 - 内置常用DevOps工具节点
-
• 🐳 容器化部署 - 基于Docker,快速启动和扩展
-
• 🔒 企业级安全 - 支持私有化部署,数据安全可控
-
• 📊 实时监控 - 执行状态实时跟踪,日志完整记录
🚀 快速开始
环境要求
-
• JDK 11+
-
• MySQL 8.0+
-
• Docker & Docker Compose
一键部署
go
# 下载部署配置
wget https://gitee.com/jianmu-dev/jianmu-deploy/raw/master/docker-compose.yml
# 启动服务
docker-compose up -d
访问系统
部署完成后,通过浏览器访问:http://localhost:8081
默认管理员账号:
-
• 用户名:admin
-
• 密码:123456
⚙️ 核心配置
数据库配置
编辑 application-dev.yml 文件,修改数据库连接信息:
go
spring:
datasource:
url:jdbc:h2:mem:db;MODE=MySQL;DATA_TO_LOWER=TRUE;DB_CLOSE_DELAY=-1;DB_CLOSE_ON_EXIT=false
username:sa
password:sa
Worker配置
建木采用分布式架构,Worker负责具体任务执行:
go
jianmu:
worker:
secret:worker-secret
生成Worker密钥:
go
openssl rand -hex 16
注册中心配置
go
registry:
ak:703a46428d8f411c9f3233a53af56749
sk:8db297bcc964c95921d18ce8a0c1e1e
🎯 核心功能
1. 工作流设计器
-
• 可视化编辑:拖拽式流程设计界面
-
• 节点配置:支持条件分支、循环等复杂逻辑
-
• 参数传递:节点间数据流转和变量管理
2. 节点生态
建木提供丰富的预置节点:
| 节点类型 | 功能说明 | 适用场景 |
|---|---|---|
| Git节点 | 代码拉取、版本管理 | 源码集成 |
| 构建节点 | Maven、Gradle、NPM构建 | 项目编译 |
| 测试节点 | 单元测试、集成测试 | 质量保证 |
| 部署节点 | Docker、K8s部署 | 应用发布 |
| 通知节点 | 钉钉、企业微信、邮件 | 状态通知 |
3. 触发器
支持多种触发方式:
-
• 定时触发 - Cron表达式定义
-
• Webhook触发 - Git推送自动触发
-
• 手动触发 - 用户主动执行
-
• API触发 - 第三方系统集成
🔧 高级配置
环境变量管理
go
jianmu:
global:
record:
auto-clean:true
max:100
存储配置
go
storage:
filepath:data
JWT安全配置
go
jianmu:
api:
jwtSecret:A1KLCSAFHCASLHVCAHVKJHSVWGEQKWBZ3CJBTI9G20ZPXYFGAVEHQUTPOOURHO05CKVOIE2RYMP4L9JRG3ZROSWLBXCSPHBMCLGUGHGMOPZD7BLQHNLL7JLVLHJBGM5IQVYER2EKFXL8HPRKXVZYeHB9VUQ6VKEWC0UMDU67KWNP6TTG1TDPSG1OLYZ0OO4KWI0TB2SMQCPIGWGJEM7VIO4JLWY0SSV6C0SAVCP0WZXPYDWGDEWCI7XXHBWO3ITBECKX7Z9YC6RNIATMWGOJLF3DCQSQEAHERERFE41DLLF9VSOQFFH2CCSKAUY24LE3MGA2QMMY7MI0IDV
jwtExpirationMs:86400000 # 24小时
📚 使用场景
1. 微服务CI/CD
go
# 典型微服务部署流程
1.代码拉取→2.单元测试→3.构建镜像→4.部署到测试环境→5.自动化测试→6.部署生产环境
2. 数据库迁移
go
# 数据库版本管理流程
1.备份当前数据→2.执行迁移脚本→3.数据验证→4.回滚机制
3. 定时任务
go
# 定时运维任务
1.日志清理→2.系统监控→3.健康检查→4.报告生成
🛠️ 开发指南
本地开发环境
-
- Fork项目 :
https://gitee.com/jianmu-dev/jianmu
- Fork项目 :
-
- Clone到本地 :
git clone your-fork-repo
- Clone到本地 :
-
- IDE配置:推荐使用IntelliJ IDEA
-
- Worker开发 :参考
jianmu-worker-xx项目
- Worker开发 :参考
贡献代码
-
- Fork项目到个人仓库
-
- 创建功能分支:
git checkout -b feature/xxx
- 创建功能分支:
-
- 提交代码:
git commit -m "feat: add new feature"
- 提交代码:
-
- 推送分支:
git push origin feature/xxx
- 推送分支:
-
- 创建Pull Request
📖 文档资源
官方文档
-
• 在线文档:https://ci.jianmu.dev
-
• 项目主页:https://jianmu.dev
技术支持
-
• Worker仓库:https://gitee.com/organizations/jianmu-workers/issues
-
• Runner仓库:https://gitee.com/organizations/jianmu-runners/issues
社区交流
-
• 技术讨论群
-
• 开发者交流群
-
• 问题反馈群
🎯 最佳实践
1. 工作流设计原则
-
• 原子化:每个节点职责单一
-
• 可复用:常用流程封装为模板
-
• 可观测:关键步骤添加日志和通知
2. 安全建议
-
• 定期更新Worker密钥
-
• 限制敏感信息访问权限
-
• 启用操作审计日志
3. 性能优化
-
• 合理设置并发执行数量
-
• 优化Docker镜像大小
-
• 使用缓存机制减少重复构建
🔄 版本升级
升级步骤
-
- 备份当前数据和配置
-
- 下载新版本镜像
-
- 更新配置文件
-
- 重启服务
-
- 验证功能正常
版本兼容性
-
• 建木采用语义化版本控制
-
• 主版本升级可能包含破坏性变更
-
• 次版本向后兼容
-
• 修订版本仅修复bug
建木 - 让DevOps更简单! 🎉
本文档持续更新中,敬请关注最新版本。