java_demo/JENKINS_PANEL_GUIDE.md
wangtianqi abdb259a9f 更新Jenkins配置支持SSH用户名密码认证 + 添加详细的Jenkins面板操作指南
- 修改Jenkinsfile支持SSH用户名密码认证方式
- 添加JENKINS_PANEL_GUIDE.md详细操作指南
- 添加QUICK_START.md快速配置清单
- 添加服务器配置脚本支持用户名密码认证
- 更新配置文档和部署说明
2025-06-23 18:39:00 +08:00

347 lines
8.5 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Jenkins面板完整构建配置指南
## 🎯 项目信息
- **Git仓库**: http://116.62.163.84:15006/wangtianqi/java_demo.git
- **目标服务器**: 116.62.163.84
- **SonarQube服务器**: http://116.62.163.84:15010
- **认证方式**: 用户名密码SSH
---
## 📋 第一部分:前期准备
### 1. 登录Jenkins
1. 打开浏览器访问您的Jenkins服务器
```
http://您的Jenkins服务器IP:8080
```
2. 输入管理员用户名和密码登录
### 2. 安装必需插件
**管理Jenkins** → **插件管理** → **可选插件**
搜索并安装以下插件:
```
✓ Maven Integration Plugin
✓ JaCoCo Plugin
✓ SonarQube Scanner Plugin
✓ Docker Pipeline Plugin
✓ SSH Agent Plugin
✓ Git Plugin
✓ Pipeline Plugin
✓ Credentials Binding Plugin
✓ Blue Ocean Plugin (推荐)
```
**安装步骤:**
1. 勾选需要的插件
2. 点击 **"直接安装"**
3. 等待安装完成并重启Jenkins
---
## 🔧 第二部分:系统配置
### 1. 配置全局工具
**管理Jenkins** → **全局工具配置**
#### 1.1 JDK配置
- 点击 **"新增JDK"**
- **Name**: `JDK-17`
- **JAVA_HOME**: `/usr/lib/jvm/java-17-openjdk`Linux或您的JDK安装路径
- 取消勾选 **"自动安装"**
#### 1.2 Maven配置
- 点击 **"新增Maven"**
- **Name**: `Maven-3.9.3`
- 勾选 **"自动安装"**
- **版本**: 选择 `3.9.3`
#### 1.3 Git配置如果需要
- 通常系统已有Git保持默认即可
### 2. 配置SonarQube服务器
**管理Jenkins** → **系统配置** → **SonarQube servers**
- 点击 **"Add SonarQube"**
- **Name**: `SonarQube`
- **Server URL**: `http://116.62.163.84:15010`
- **Server authentication token**: `squ_7e4217cabd0faae6f3b8ee359b3b8e2ac52eb69a`
---
## 🔐 第三部分:凭据配置
### 1. 配置Git凭据
**管理Jenkins** → **凭据** → **系统** → **全局凭据** → **添加凭据**
**Git仓库访问凭据**
- **类型**: `Username with password`
- **范围**: `全局`
- **用户名**: `wangtianqi`
- **密码**: `[您的Git密码]`
- **ID**: `git-credentials`
- **描述**: `Git Repository Access`
### 2. 配置SSH服务器凭据
**继续添加凭据**
**服务器SSH访问凭据**
- **类型**: `Username with password`
- **范围**: `全局`
- **用户名**: `root`
- **密码**: `[您的服务器root密码]`
- **ID**: `deploy-server-ssh`
- **描述**: `Deploy Server SSH Access`
---
## 🚀 第四部分创建Pipeline项目
### 1. 创建新项目
1. 回到Jenkins首页
2. 点击左侧 **"新建任务"** 或 **"New Item"**
3. **输入任务名称**: `java-demo-pipeline`
4. **选择类型**: `Pipeline`
5. 点击 **"确定"**
### 2. 配置项目基本信息
#### 2.1 基本设置
- **描述**:
```
Jenkins CI/CD Demo Project with Spring Boot 3
用于演示完整的CI/CD流程包括代码拉取、编译构建、单元测试、代码扫描、Docker打包和部署
```
#### 2.2 构建保留策略
- 勾选 **"丢弃旧的构建"**
- **保持构建的最大个数**: `10`
- **保持构建的天数**: `30`
#### 2.3 构建触发器(可选)
- **GitHub hook trigger for GITScm polling**: 勾选此项实现代码提交自动构建
- **轮询SCM**: 输入 `H/5 * * * *`每5分钟检查一次代码变更
### 3. 配置Pipeline
#### 3.1 Pipeline基本配置
- **Definition**: 选择 `Pipeline script from SCM`
- **SCM**: 选择 `Git`
#### 3.2 Git仓库配置
- **Repository URL**:
```
http://116.62.163.84:15006/wangtianqi/java_demo.git
```
- **Credentials**: 选择之前创建的 `git-credentials`
- **Branch Specifier**: `*/main`
#### 3.3 Script Path
- **Script Path**: `Jenkinsfile`
#### 3.4 轻量级检出(推荐)
- 勾选 **"Lightweight checkout"**
### 4. 保存配置
点击页面底部的 **"保存"**
---
## 🎬 第五部分:执行构建
### 1. 立即构建
1. 在项目主页点击左侧 **"立即构建"** 或 **"Build Now"**
2. 系统开始执行Pipeline
### 2. 监控构建过程
#### 2.1 查看构建历史
- 在左侧 **"构建历史"** 中可以看到构建列表
- 点击构建号(如 #1进入构建详情
#### 2.2 查看控制台输出
- 在构建详情页面点击 **"控制台输出"**
- 可以实时查看构建日志
#### 2.3 使用Blue Ocean界面推荐
1. 点击左侧 **"Open Blue Ocean"**
2. 可以看到可视化的Pipeline流程
3. 每个阶段的状态一目了然
### 3. 构建阶段说明
构建将按以下顺序执行:
1. **🔄 Checkout** - 代码检出
- 从Git仓库拉取最新代码
- 显示Git提交ID
2. **🔍 环境检查** - 环境验证
- 检查Java版本
- 检查Maven版本
- 检查Git版本
3. **🔨 编译** - 代码编译
- 执行 `mvn clean compile`
- 跳过测试阶段
4. **🧪 单元测试** - 测试执行
- 运行所有单元测试
- 生成测试报告和代码覆盖率
5. **🔍 代码质量扫描** - SonarQube分析
- 静态代码分析
- 代码质量评估
6. **📦 打包** - 应用打包
- 生成可执行JAR文件
- 归档构建产物
7. **🐳 构建Docker镜像** - 容器化
- 构建Docker镜像
- 创建版本标签
8. **📤 传输Docker镜像** - 镜像部署
- 将镜像传输到目标服务器
- 在目标服务器加载镜像
9. **🚀 部署应用** - 环境部署
- **测试环境**: develop/feature分支 → 端口8080
- **生产环境**: main/master分支 → 端口80
10. **🏥 健康检查** - 应用验证
- 等待应用启动
- 验证健康检查接口
---
## 📊 第六部分:查看构建结果
### 1. 构建状态说明
- **🔵 蓝色**: 构建成功
- **🔴 红色**: 构建失败
- **🟡 黄色**: 构建不稳定(测试失败但编译成功)
- **⚪ 灰色**: 构建被取消或未执行
### 2. 查看测试报告
1. 进入构建详情页面
2. 点击 **"测试结果"**
3. 查看单元测试通过率和详细结果
### 3. 查看代码覆盖率
1. 在构建详情页面找到 **"JaCoCo代码覆盖率"**
2. 查看代码覆盖率报告
3. 分析哪些代码未被测试覆盖
### 4. 查看SonarQube报告
1. 构建成功后访问:`http://116.62.163.84:15010`
2. 找到项目:`jenkins-demo`
3. 查看代码质量分析结果
### 5. 验证部署结果
构建成功后,根据分支验证部署:
**测试环境develop分支**
```bash
curl http://116.62.163.84:8080/api/health
curl http://116.62.163.84:8080/api/users
```
**生产环境main分支**
```bash
curl http://116.62.163.84/api/health
curl http://116.62.163.84/api/users
```
---
## 🔧 第七部分:故障排除
### 常见问题及解决方案
#### 1. Git克隆失败
**现象**: `fatal: could not read Username`
**解决**:
- 检查Git凭据配置是否正确
- 确认仓库URL可以访问
- 验证用户名密码是否正确
#### 2. Maven构建失败
**现象**: `command not found: mvn`
**解决**:
- 检查Maven工具配置
- 确认Maven自动安装是否完成
- 查看系统环境变量设置
#### 3. Docker构建失败
**现象**: `Cannot connect to the Docker daemon`
**解决**:
- 确认Jenkins服务器已安装Docker
- 检查Jenkins用户是否在docker组
- 确认Docker服务是否运行
#### 4. SSH连接失败
**现象**: `Permission denied (publickey,password)`
**解决**:
- 检查SSH凭据用户名密码
- 确认目标服务器允许密码认证
- 检查防火墙设置
#### 5. 健康检查失败
**现象**: `应用健康检查失败HTTP状态码: 000`
**解决**:
- 检查应用是否正常启动
- 确认端口映射是否正确
- 查看Docker容器日志
### 日志查看方式
```bash
# 查看构建日志
Jenkins控制台输出
# 查看应用日志
docker logs jenkins-demo-prod
docker logs jenkins-demo-test
# 查看系统日志
journalctl -u docker
```
---
## 📈 第八部分:高级配置
### 1. 配置构建通知
可以配置邮件、钉钉、企业微信等通知方式
### 2. 配置多分支Pipeline
支持自动发现和构建Git仓库的多个分支
### 3. 配置并行构建
充分利用服务器资源,加快构建速度
### 4. 配置构建缓存
缓存Maven依赖减少构建时间
---
## 🎉 完成!
配置完成后您的CI/CD流程就搭建好了
**工作流程:**
1. 开发人员提交代码到Git仓库
2. Jenkins自动检测代码变更
3. 执行完整的构建、测试、部署流程
4. 自动部署到对应环境
5. 发送构建结果通知
**访问地址:**
- Jenkins: `http://您的Jenkins服务器:8080`
- SonarQube: `http://116.62.163.84:15010`
- 应用生产环境: `http://116.62.163.84`
- 应用测试环境: `http://116.62.163.84:8080`
现在您的团队可以享受高效的DevOps工作流程了🚀