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

261 lines
5.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配置指南
## 🚀 Jenkins CI/CD配置完整指南
### 📋 前置条件检查
**Jenkins服务器要求**
- ✅ Jenkins 2.400+
- ✅ JDK 17
- ✅ Maven 3.9+
- ✅ Docker
- ✅ Git
**目标服务器要求:**
- ✅ Docker已安装
- ✅ SSH访问权限
- ✅ 防火墙配置80、8080端口
### 🔧 Step 1: Jenkins插件安装
`Jenkins管理 → 插件管理` 中安装以下插件:
```
必需插件:
- Maven Integration Plugin
- JaCoCo Plugin
- SonarQube Scanner Plugin
- Docker Pipeline Plugin
- SSH Agent Plugin
- Git Plugin
- Pipeline Plugin
推荐插件:
- Blue Ocean (可视化Pipeline)
- Timestamper (时间戳)
- Build Timeout (构建超时)
- Workspace Cleanup (工作空间清理)
```
### 🛠️ Step 2: 全局工具配置
进入 `Jenkins管理 → 全局工具配置`
**JDK配置**
```
名称: JDK-17
JAVA_HOME: /usr/lib/jvm/java-17-openjdk
自动安装: ✅ (如果需要)
```
**Maven配置**
```
名称: Maven-3.9.3
自动安装: ✅
版本: 3.9.3
```
**SonarQube Scanner配置**
```
名称: SonarQube Scanner
自动安装: ✅
版本: Latest
```
**Docker配置**
```
名称: Docker
自动安装: ✅ (或指定Docker路径)
```
### 🔐 Step 3: 凭据配置
进入 `Jenkins管理 → 凭据`
**SSH密钥配置**
```
域: 全局凭据
类型: SSH Username with private key
ID: deploy-server-ssh
描述: Deploy Server SSH Key
用户名: root
私钥: [粘贴您的SSH私钥内容]
```
**SonarQube Token配置**
```
域: 全局凭据
类型: Secret text
ID: sonar-token
Secret: squ_7e4217cabd0faae6f3b8ee359b3b8e2ac52eb69a
描述: SonarQube Authentication Token
```
### 🌐 Step 4: 系统配置
进入 `Jenkins管理 → 系统配置`
**SonarQube服务器配置**
```
名称: SonarQube
服务器URL: http://116.62.163.84:15010
认证令牌: [选择上面创建的sonar-token凭据]
```
**全局属性(可选):**
```
环境变量:
- DEPLOY_SERVER = 116.62.163.84
- DOCKER_REGISTRY = 116.62.163.84:5000 (如果有私有仓库)
```
### 📦 Step 5: 创建Pipeline项目
1. **新建项目:**
```
点击 "新建任务"
输入项目名称: jenkins-demo
选择: Pipeline
点击 "确定"
```
2. **配置项目:**
```
描述: Jenkins CI/CD Demo Project with Spring Boot 3
Pipeline配置:
- Definition: Pipeline script from SCM
- SCM: Git
- Repository URL: http://116.62.163.84:15006/wangtianqi/java_demo.git
- Credentials: [如果需要Git凭据]
- Branch Specifier: */main
- Script Path: Jenkinsfile
```
3. **触发器配置:**
```
✅ GitHub hook trigger for GITScm polling (如果使用GitHub)
✅ Poll SCM: H/5 * * * * (每5分钟检查一次代码变更)
```
### 🖥️ Step 6: 目标服务器配置
在目标服务器116.62.163.84)上运行配置脚本:
```bash
# 1. 上传配置脚本到服务器
scp server-setup.sh root@116.62.163.84:/tmp/
# 2. 登录服务器并运行配置
ssh root@116.62.163.84
chmod +x /tmp/server-setup.sh
/tmp/server-setup.sh
```
### 🔍 Step 7: SSH连接测试
在Jenkins服务器上测试SSH连接
```bash
# 测试SSH连接
ssh -o StrictHostKeyChecking=no root@116.62.163.84 "echo 'SSH连接成功'"
# 测试Docker命令
ssh root@116.62.163.84 "docker --version"
```
### 🧪 Step 8: 第一次构建测试
1. **手动触发构建:**
- 进入项目页面
- 点击 "立即构建"
- 查看构建日志
2. **检查构建阶段:**
```
✅ Checkout - 代码检出
✅ 环境检查 - 工具版本验证
✅ 编译 - Maven编译
✅ 单元测试 - JUnit测试执行
✅ 代码质量扫描 - SonarQube分析
✅ 打包 - JAR文件生成
✅ Docker镜像构建
✅ 部署到目标服务器
✅ 健康检查
```
### 📊 Step 9: 监控和维护
**查看构建报告:**
- 测试报告:项目页面 → Test Result
- 代码覆盖率:项目页面 → Coverage Report
- SonarQube报告http://116.62.163.84:15010
**应用监控:**
- 应用健康检查http://116.62.163.84/api/health
- 应用信息http://116.62.163.84/api/info
- API测试http://116.62.163.84/api/users
**服务器维护:**
```bash
# 查看应用状态
ssh root@116.62.163.84 "/opt/jenkins-demo/monitor.sh"
# 查看应用日志
ssh root@116.62.163.84 "docker logs jenkins-demo-prod"
# 清理旧资源
ssh root@116.62.163.84 "/opt/jenkins-demo/cleanup.sh"
```
### 🚨 常见问题解决
**问题1SSH连接失败**
```bash
# 解决方案检查SSH密钥配置
ssh-keygen -t rsa -b 4096
ssh-copy-id root@116.62.163.84
```
**问题2Docker权限问题**
```bash
# 解决方案添加jenkins用户到docker组
sudo usermod -aG docker jenkins
sudo systemctl restart jenkins
```
**问题3SonarQube连接失败**
```bash
# 解决方案检查SonarQube服务状态
curl -I http://116.62.163.84:15010
```
**问题4部署失败**
```bash
# 解决方案:检查目标服务器状态
ssh root@116.62.163.84 "docker ps -a"
ssh root@116.62.163.84 "docker logs jenkins-demo-prod"
```
### 🎯 成功标准
构建成功后,您应该能够:
1. ✅ 在Jenkins中看到绿色的构建状态
2. ✅ 访问 http://116.62.163.84/api/health 看到健康状态
3. ✅ 访问 http://116.62.163.84/api/users 看到用户列表
4. ✅ 在SonarQube中看到代码质量报告
5. ✅ 在Jenkins中看到测试报告和代码覆盖率
### 📞 技术支持
如果遇到问题,请检查:
1. Jenkins构建日志
2. 目标服务器Docker日志
3. SonarQube服务状态
4. 网络连接状况
---
🎉 **配置完成后您的团队就可以享受完整的CI/CD流程了**