🚀 Jenkins 服务器部署与自动化研发系统

基于 OpenClaw + Claude Code 的端到端研发自动化系统

Version 1.0.0 | 2026-03-13

📋 系统概述

本系统提供了一套完整的端到端研发自动化解决方案,集成了 Jenkins、Git、Docker、Kubernetes (K8s/KubeSphere) 和 SonarQube 等核心工具,实现从代码提交到生产部署的全流程自动化。

🎯 核心功能

  • 自动化 CI/CD 流水线
  • 容器化构建与部署
  • Kubernetes 编排管理
  • 代码质量自动检测
  • 自动化测试验证

⚡ 技术栈

  • Jenkins 2.x (LTS)
  • Git / GitHub / GitLab
  • Docker 24.x
  • Kubernetes 1.29+
  • SonarQube 10.x
  • Helm 3.x

🔄 自动化流程

  • 需求 → PRD 设计
  • 技术方案设计
  • API 接口开发
  • AI Coding 辅助
  • 单元测试 → 集成测试
  • 自动部署 → UI 验收

🏗️ 架构设计

系统架构图

Git 仓库
Jenkins CI/CD
SonarQube
Docker Registry
Kubernetes
Production

组件说明

组件 作用 版本
Jenkins CI/CD 自动化服务器,负责流水线编排和执行 2.x LTS
Git 版本控制系统,代码管理 2.x
Docker 容器化平台,应用打包和运行 24.x
Kubernetes 容器编排平台,自动化部署和管理 1.29+
SonarQube 代码质量管理平台,静态代码分析 10.x
Helm Kubernetes 包管理器 3.x

📝 前置条件

💡 系统要求:
  • 操作系统:Ubuntu 24.04 LTS (推荐)
  • CPU: 4 核以上 (推荐 8 核+)
  • 内存:8GB 以上 (推荐 16GB+)
  • 磁盘:50GB 可用空间
  • 网络:稳定的互联网连接

必需软件

访问凭证

服务 凭证类型 用途
GitHub/GitLab SSH Key / Personal Access Token 代码仓库访问
Docker Hub/Registry 用户名密码 镜像推送
SonarQube Token 代码分析
Kubernetes kubeconfig 集群管理

🔧 安装部署

⚠️ 注意:请以 root 用户或使用 sudo 执行以下命令

步骤 1: 执行自动化部署脚本

# 赋予执行权限
chmod +x jenkins_server_deploy.sh

# 执行部署脚本
sudo ./jenkins_server_deploy.sh

步骤 2: 验证安装

# 检查 Jenkins 状态
systemctl status jenkins

# 检查 Docker 状态
systemctl status docker

# 查看 Jenkins 初始密码
sudo cat /var/lib/jenkins/secrets/initialAdminPassword

步骤 3: 访问 Jenkins Web UI

✅ 访问地址:http://your-server-ip:8080

手动安装步骤(可选)

🔌 插件配置

核心插件列表

插件名称 用途 必需
Git Plugin Git 版本控制集成
Docker Pipeline Docker 容器化构建
Kubernetes Plugin K8s 动态 Agent
SonarQube Scanner 代码质量分析
Pipeline Stage View 流水线可视化 推荐
Blue Ocean 现代化 UI 界面 推荐
Configuration as Code 配置即代码 推荐
GitHub/GitLab Plugin 代码平台集成 推荐

使用 JCasC 配置插件

# 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
💡 提示:所有配置文件都已包含在输出文件列表中,可根据实际需求修改配置参数。

⚙️ CI/CD 流水线

流水线阶段

1. Checkout
2. SonarQube
3. Build
4. Unit Test
5. Integration Test
6. Docker Build
7. K8s Deploy
8. UI Test
9. Prod Deploy

创建流水线

  1. 登录 Jenkins Web UI
  2. 点击"新建 Item"
  3. 输入任务名称,选择"Pipeline"
  4. 在"Pipeline Script"部分,选择"Pipeline script from SCM"
  5. 配置 Git 仓库信息
  6. Script Path 设置为 Jenkinsfile
  7. 点击"保存"并"立即构建"

流水线参数说明

参数名 默认值 说明
GIT_BRANCH main 要构建的 Git 分支
DEPLOY_ENV staging 部署环境 (dev/staging/production)
SKIP_TESTS false 是否跳过测试
DEPLOY_TO_PROD false 是否部署到生产环境
SONAR_ANALYSIS true 是否运行 SonarQube 分析

☸️ Kubernetes 集成

配置 Kubernetes 云

  1. 进入"Manage Jenkins" → "Cloud" → "New cloud"
  2. 选择"Kubernetes"
  3. 配置 Kubernetes 集群连接信息
  4. 导入或配置 kubeconfig
  5. 配置 Pod 模板(已预置在配置文件中)
  6. 测试连接并保存

命名空间配置

# 创建 Jenkins Agents 命名空间
kubectl create namespace jenkins-agents

# 应用资源配置
kubectl apply -f k8s_deployment.yaml

Pod 模板类型

模板标签 用途 基础镜像
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 集成

配置步骤

  1. 安装 SonarQube Scanner 插件
  2. 进入"Manage Jenkins" → "System"
  3. 找到"SonarQube servers"配置项
  4. 添加 SonarQube 服务器信息:
    • Name: SonarQube Server
    • Server URL: http://your-sonarqube-url
    • Server authentication token: [生成 Token]
  5. 保存配置

生成 SonarQube Token

# 登录 SonarQube
# 导航到:My Account → Security → Generate Tokens
# 输入名称,选择权限,点击 Generate

质量门配置

💡 建议配置:
  • 代码覆盖率 ≥ 80%
  • 重复率 ≤ 3%
  • 严重问题数 = 0
  • 安全热点全部审查

🔍 故障排除

常见问题

1. Jenkins 无法启动

# 查看日志
journalctl -u jenkins -f

# 检查端口占用
netstat -tlnp | grep 8080

# 检查 Java 版本
java -version

2. Docker 权限问题

# 将 jenkins 用户加入 docker 组
sudo usermod -aG docker jenkins

# 重启 Jenkins
sudo systemctl restart jenkins

3. Kubernetes 连接失败

# 验证 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

4. SonarQube 分析失败

# 检查 Token 是否有效
# 验证 SonarQube 服务器可达性
curl -u YOUR_TOKEN: http://sonarqube-url/api/system/status

# 查看项目配置
cat sonar-project.properties
⚠️ 日志位置:
  • Jenkins 日志:/var/log/jenkins/jenkins.log
  • Docker 日志:journalctl -u docker
  • Kubernetes 日志:kubectl logs <pod-name> -n jenkins-agents

📁 文件清单

📜
jenkins_server_deploy.sh

Jenkins 服务器自动化部署脚本(Ubuntu 24.04 LTS)

⚙️
jcasc_git_config.yaml

Git 插件 Jenkins Configuration as Code 配置文件

🐳
jcasc_docker_config.yaml

Docker 插件 JCasC 配置文件(包含多种构建器模板)

☸️
jcasc_kubernetes_config.yaml

Kubernetes 插件 JCasC 配置文件(包含多种 Pod 模板)

📊
jcasc_sonarqube_config.yaml

SonarQube 插件 JCasC 配置文件

🔄
Jenkinsfile

端到端 CI/CD 流水线定义文件(包含 9 个阶段)

📦
k8s_deployment.yaml

Kubernetes 资源配置文件(Namespace、RBAC、Deployment、Service 等)

📖
jenkins_deployment_guide.html

本部署指南文档(当前文件)

🚀 快速开始

5 分钟快速部署:
  1. 准备环境:确保 Ubuntu 24.04 LTS 服务器就绪
  2. 执行脚本:sudo ./jenkins_server_deploy.sh
  3. 访问 UI:打开浏览器访问 http://server-ip:8080
  4. 完成向导:输入初始密码,安装推荐插件
  5. 导入配置:使用 JCasC 配置文件自动配置插件
  6. 创建流水线:导入 Jenkinsfile 创建 CI/CD 流水线
  7. 触发构建:提交代码或手动触发构建
  8. 验证部署:检查各阶段执行结果