建木(Jianmu)使用手册

建木(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.报告生成

🛠️ 开发指南

本地开发环境

    1. Fork项目https://gitee.com/jianmu-dev/jianmu
    1. Clone到本地git clone your-fork-repo
    1. IDE配置:推荐使用IntelliJ IDEA
    1. Worker开发 :参考 jianmu-worker-xx 项目

贡献代码

    1. Fork项目到个人仓库
    1. 创建功能分支:git checkout -b feature/xxx
    1. 提交代码:git commit -m "feat: add new feature"
    1. 推送分支:git push origin feature/xxx
    1. 创建Pull Request

📖 文档资源

官方文档

技术支持

社区交流

  • • 技术讨论群

  • • 开发者交流群

  • • 问题反馈群


🎯 最佳实践

1. 工作流设计原则

  • 原子化:每个节点职责单一

  • 可复用:常用流程封装为模板

  • 可观测:关键步骤添加日志和通知

2. 安全建议

  • • 定期更新Worker密钥

  • • 限制敏感信息访问权限

  • • 启用操作审计日志

3. 性能优化

  • • 合理设置并发执行数量

  • • 优化Docker镜像大小

  • • 使用缓存机制减少重复构建


🔄 版本升级

升级步骤

    1. 备份当前数据和配置
    1. 下载新版本镜像
    1. 更新配置文件
    1. 重启服务
    1. 验证功能正常

版本兼容性

  • • 建木采用语义化版本控制

  • • 主版本升级可能包含破坏性变更

  • • 次版本向后兼容

  • • 修订版本仅修复bug



建木 - 让DevOps更简单! 🎉


本文档持续更新中,敬请关注最新版本。