- 修改Jenkinsfile支持SSH用户名密码认证方式 - 添加JENKINS_PANEL_GUIDE.md详细操作指南 - 添加QUICK_START.md快速配置清单 - 添加服务器配置脚本支持用户名密码认证 - 更新配置文档和部署说明
5.5 KiB
5.5 KiB
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项目
-
新建项目:
点击 "新建任务" 输入项目名称: jenkins-demo 选择: Pipeline 点击 "确定"
-
配置项目:
描述: 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
-
触发器配置:
✅ 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: 第一次构建测试
-
手动触发构建:
- 进入项目页面
- 点击 "立即构建"
- 查看构建日志
-
检查构建阶段:
✅ 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
服务器维护:
# 查看应用状态
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"
🚨 常见问题解决
问题1:SSH连接失败
# 解决方案:检查SSH密钥配置
ssh-keygen -t rsa -b 4096
ssh-copy-id root@116.62.163.84
问题2:Docker权限问题
# 解决方案:添加jenkins用户到docker组
sudo usermod -aG docker jenkins
sudo systemctl restart jenkins
问题3:SonarQube连接失败
# 解决方案:检查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"
🎯 成功标准
构建成功后,您应该能够:
- ✅ 在Jenkins中看到绿色的构建状态
- ✅ 访问 http://116.62.163.84/api/health 看到健康状态
- ✅ 访问 http://116.62.163.84/api/users 看到用户列表
- ✅ 在SonarQube中看到代码质量报告
- ✅ 在Jenkins中看到测试报告和代码覆盖率
📞 技术支持
如果遇到问题,请检查:
- Jenkins构建日志
- 目标服务器Docker日志
- SonarQube服务状态
- 网络连接状况
🎉 配置完成后,您的团队就可以享受完整的CI/CD流程了!