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

5.5 KiB
Raw Blame History

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)上运行配置脚本:

# 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连接

# 测试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

应用监控:

服务器维护:

# 查看应用状态
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连接失败

# 解决方案检查SSH密钥配置
ssh-keygen -t rsa -b 4096
ssh-copy-id root@116.62.163.84

问题2Docker权限问题

# 解决方案添加jenkins用户到docker组
sudo usermod -aG docker jenkins
sudo systemctl restart jenkins

问题3SonarQube连接失败

# 解决方案检查SonarQube服务状态
curl -I http://116.62.163.84:15010

问题4部署失败

# 解决方案:检查目标服务器状态
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流程了