基于 OpenClaw + Claude Code 的端到端研发自动化系统
Version 1.0.0 | 2026-03-13本系统提供了一套完整的端到端研发自动化解决方案,集成了 Jenkins、Git、Docker、Kubernetes (K8s/KubeSphere) 和 SonarQube 等核心工具,实现从代码提交到生产部署的全流程自动化。
| 组件 | 作用 | 版本 |
|---|---|---|
| Jenkins | CI/CD 自动化服务器,负责流水线编排和执行 | 2.x LTS |
| Git | 版本控制系统,代码管理 | 2.x |
| Docker | 容器化平台,应用打包和运行 | 24.x |
| Kubernetes | 容器编排平台,自动化部署和管理 | 1.29+ |
| SonarQube | 代码质量管理平台,静态代码分析 | 10.x |
| Helm | Kubernetes 包管理器 | 3.x |
| 服务 | 凭证类型 | 用途 |
|---|---|---|
| GitHub/GitLab | SSH Key / Personal Access Token | 代码仓库访问 |
| Docker Hub/Registry | 用户名密码 | 镜像推送 |
| SonarQube | Token | 代码分析 |
| Kubernetes | kubeconfig | 集群管理 |
# 赋予执行权限
chmod +x jenkins_server_deploy.sh
# 执行部署脚本
sudo ./jenkins_server_deploy.sh
# 检查 Jenkins 状态
systemctl status jenkins
# 检查 Docker 状态
systemctl status docker
# 查看 Jenkins 初始密码
sudo cat /var/lib/jenkins/secrets/initialAdminPassword
apt-get install -y openjdk-21-jdkapt-get install -y gitcurl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl"curl https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3 | bash| 插件名称 | 用途 | 必需 |
|---|---|---|
| Git Plugin | Git 版本控制集成 | ✅ |
| Docker Pipeline | Docker 容器化构建 | ✅ |
| Kubernetes Plugin | K8s 动态 Agent | ✅ |
| SonarQube Scanner | 代码质量分析 | ✅ |
| Pipeline Stage View | 流水线可视化 | 推荐 |
| Blue Ocean | 现代化 UI 界面 | 推荐 |
| Configuration as Code | 配置即代码 | 推荐 |
| GitHub/GitLab Plugin | 代码平台集成 | 推荐 |
# Git 插件配置
export CASC_JENKINS_CONFIG=/path/to/jcasc_git_config.yaml
# Docker 插件配置
export CASC_JENKINS_CONFIG=/path/to/jcasc_docker_config.yaml
# Kubernetes 插件配置
export CASC_JENKINS_CONFIG=/path/to/jcasc_kubernetes_config.yaml
# SonarQube 插件配置
export CASC_JENKINS_CONFIG=/path/to/jcasc_sonarqube_config.yaml
Jenkinsfile| 参数名 | 默认值 | 说明 |
|---|---|---|
| GIT_BRANCH | main | 要构建的 Git 分支 |
| DEPLOY_ENV | staging | 部署环境 (dev/staging/production) |
| SKIP_TESTS | false | 是否跳过测试 |
| DEPLOY_TO_PROD | false | 是否部署到生产环境 |
| SONAR_ANALYSIS | true | 是否运行 SonarQube 分析 |
# 创建 Jenkins Agents 命名空间
kubectl create namespace jenkins-agents
# 应用资源配置
kubectl apply -f k8s_deployment.yaml
| 模板标签 | 用途 | 基础镜像 |
|---|---|---|
| maven-k8s | Maven 项目构建 | maven:3.9-eclipse-temurin-21 |
| nodejs-k8s | Node.js 项目构建 | node:20-alpine |
| python-k8s | Python 项目构建 | python:3.12-slim |
| golang-k8s | Go 项目构建 | golang:1.22 |
| docker-k8s | Docker 镜像构建 | docker:24-dind |
| sonar-k8s | SonarQube 扫描 | sonarsource/sonar-scanner-cli |
| ui-test-k8s | UI 自动化测试 | selenium/standalone-chrome |
# 登录 SonarQube
# 导航到:My Account → Security → Generate Tokens
# 输入名称,选择权限,点击 Generate
# 查看日志
journalctl -u jenkins -f
# 检查端口占用
netstat -tlnp | grep 8080
# 检查 Java 版本
java -version
# 将 jenkins 用户加入 docker 组
sudo usermod -aG docker jenkins
# 重启 Jenkins
sudo systemctl restart jenkins
# 验证 kubeconfig
kubectl cluster-info
# 检查 ServiceAccount
kubectl get sa jenkins-agent -n jenkins-agents
# 查看 Pod 权限
kubectl auth can-i --list --as=system:serviceaccount:jenkins-agents:jenkins-agent
# 检查 Token 是否有效
# 验证 SonarQube 服务器可达性
curl -u YOUR_TOKEN: http://sonarqube-url/api/system/status
# 查看项目配置
cat sonar-project.properties
/var/log/jenkins/jenkins.logjournalctl -u dockerkubectl logs <pod-name> -n jenkins-agentsJenkins 服务器自动化部署脚本(Ubuntu 24.04 LTS)
Git 插件 Jenkins Configuration as Code 配置文件
Docker 插件 JCasC 配置文件(包含多种构建器模板)
Kubernetes 插件 JCasC 配置文件(包含多种 Pod 模板)
SonarQube 插件 JCasC 配置文件
端到端 CI/CD 流水线定义文件(包含 9 个阶段)
Kubernetes 资源配置文件(Namespace、RBAC、Deployment、Service 等)
本部署指南文档(当前文件)
sudo ./jenkins_server_deploy.sh