基于 OpenClaw + Claude Code 的端到端研发自动化系统
本部署方案提供完整的 Jenkins 持续集成/持续部署 (CI/CD) 平台,集成了 Git、Docker、Kubernetes(KubeSphere)、SonarQube 等核心 DevOps 工具链,支持从需求分析到自动部署的全流程自动化研发。
采用 Docker Compose 编排的微服务架构,所有组件容器化部署,确保环境一致性和可移植性。
预配置 40+ 个核心插件,覆盖版本控制、构建工具、代码质量、容器化、通知等全场景需求。
| 插件名称 | 功能描述 | 状态 |
|---|---|---|
| Git | Git 版本控制集成 | 已配置 |
| Git Parameter | Git 参数化构建 | 已配置 |
| GitLab Plugin | GitLab Webhook 集成 | 已配置 |
| GitHub | GitHub 集成 | 已配置 |
| GitHub OAuth | GitHub OAuth 认证 | 已配置 |
| 插件名称 | 功能描述 | 状态 |
|---|---|---|
| Maven Plugin | Java/Maven 项目构建 | 已配置 |
| Gradle | Gradle 构建工具 | 已配置 |
| NodeJS | Node.js 环境 | 已配置 |
| NPM | NPM 包管理 | 已配置 |
| Pytest | Python 测试框架 | 已配置 |
| 插件名称 | 功能描述 | 状态 |
|---|---|---|
| Docker Plugin | Docker 容器构建与管理 | 已配置 |
| Kubernetes | K8s 集群集成 | 已配置 |
| Kubernetes CLI | kubectl 命令行工具 | 已配置 |
| Kubernetes Pipeline | K8s 流水线步骤 | 已配置 |
| 插件名称 | 功能描述 | 状态 |
|---|---|---|
| SonarQube | 代码质量分析平台 | 已配置 |
| JaCoCo | Java 代码覆盖率 | 已配置 |
| Cobertura | 代码覆盖率报告 | 已配置 |
| CheckStyle | Java 代码规范检查 | 已配置 |
| Warnings NG | 编译器警告分析 | 已配置 |
| 插件名称 | 功能描述 | 状态 |
|---|---|---|
| Pipeline | 流水线核心引擎 | 已配置 |
| Blue Ocean | 现代化 UI 界面 | 已配置 |
| Pipeline Utility Steps | 通用流水线步骤 | 已配置 |
| Pipeline Stage View | 流水线阶段可视化 | 已配置 |
| Job DSL | 任务领域特定语言 | 已配置 |
| 插件名称 | 功能描述 | 状态 |
|---|---|---|
| Role Strategy | 基于角色的授权 | 已配置 |
| Matrix Authorization | 矩阵权限控制 | 已配置 |
| Audit Trail | 操作审计日志 | 已配置 |
| Credentials Binding | 凭据绑定 | 已配置 |
| HashiCorp Vault | 密钥管理集成 | 需配置 |
确保 Docker Desktop 处于运行状态,可以通过系统托盘图标确认。
# macOS 检查 Docker 状态
docker info
运行自动化部署脚本,将创建所有配置文件和目录结构。
# 进入部署目录
cd jenkins-deployment
# 执行部署脚本
./deploy.sh
使用提供的启动脚本启动所有服务。
# 启动所有服务
./scripts/start.sh
# 或手动启动
docker compose up -d
首次启动需要下载镜像,大约需要 5-10 分钟。可以使用健康检查脚本监控状态。
# 运行健康检查
./scripts/health-check.sh
服务启动完成后,通过浏览器访问各服务界面。
# 查看服务状态
docker compose ps
# 查看日志
docker logs jenkins-master -f
docker logs sonarqube-server -f
# 重启服务
./scripts/restart.sh
# 停止服务
./scripts/stop.sh
# 备份数据
./scripts/backup.sh
# 清理所有数据(谨慎使用)
./scripts/cleanup.sh
提供 4 个预定义的流水线模板,覆盖主流技术栈和项目类型。
# 在 Jenkins 中创建新任务
1. 点击 "新建 Item"
2. 选择 "Pipeline"
3. 在 "Pipeline" 配置中选择 "Pipeline script from SCM"
4. 选择 Git 仓库和分支
5. 指定 Jenkinsfile 路径
6. 点击 "Save" 并 "Build Now"
# 查看日志
docker logs jenkins-master
# 检查端口占用
lsof -i:8080
# 增加内存限制
# 编辑 docker-compose.yml,调整 JAVA_OPTS
JAVA_OPTS=-Xmx1024m -Xms256m
# 手动进入容器安装
docker exec -it jenkins-master bash
# 使用 Jenkins CLI 安装
java -jar /usr/share/jenkins/jenkins-cli.jar install-plugin git
# 查看日志
docker logs sonarqube-server
# 检查数据库连接
docker exec sonarqube-postgres psql -U sonar -d sonar -c "SELECT 1"
# 增加启动等待时间
# Elasticsearch 需要更长时间启动
# 编辑 docker-compose.yml
environment:
- SONAR_ES_BOOTSTRAP_CHECKS_DISABLE=true
- JAVA_OPTS=-Xmx512m -Xms128m
# 确保 Docker Desktop 运行
open -a Docker
# 检查 Socket 挂载
ls -la /var/run/docker.sock
# 重启 Docker Desktop
quit Docker Desktop and restart
# 本地开发:启用 Docker Desktop K8s
打开 Docker Desktop 设置 → Kubernetes → Enable
# 验证 K8s 连接
kubectl cluster-info
# 配置 kubeconfig 凭据
# 在 Jenkins 中添加 Kubernetes Cloud