- 修改Jenkinsfile支持SSH用户名密码认证方式 - 添加JENKINS_PANEL_GUIDE.md详细操作指南 - 添加QUICK_START.md快速配置清单 - 添加服务器配置脚本支持用户名密码认证 - 更新配置文档和部署说明
8.5 KiB
8.5 KiB
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
- 打开浏览器,访问您的Jenkins服务器:
http://您的Jenkins服务器IP:8080
- 输入管理员用户名和密码登录
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 (推荐)
安装步骤:
- 勾选需要的插件
- 点击 "直接安装"
- 等待安装完成并重启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. 创建新项目
- 回到Jenkins首页
- 点击左侧 "新建任务" 或 "New Item"
- 输入任务名称:
java-demo-pipeline
- 选择类型:
Pipeline
- 点击 "确定"
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. 立即构建
- 在项目主页点击左侧 "立即构建" 或 "Build Now"
- 系统开始执行Pipeline
2. 监控构建过程
2.1 查看构建历史
- 在左侧 "构建历史" 中可以看到构建列表
- 点击构建号(如 #1)进入构建详情
2.2 查看控制台输出
- 在构建详情页面点击 "控制台输出"
- 可以实时查看构建日志
2.3 使用Blue Ocean界面(推荐)
- 点击左侧 "Open Blue Ocean"
- 可以看到可视化的Pipeline流程
- 每个阶段的状态一目了然
3. 构建阶段说明
构建将按以下顺序执行:
-
🔄 Checkout - 代码检出
- 从Git仓库拉取最新代码
- 显示Git提交ID
-
🔍 环境检查 - 环境验证
- 检查Java版本
- 检查Maven版本
- 检查Git版本
-
🔨 编译 - 代码编译
- 执行
mvn clean compile
- 跳过测试阶段
- 执行
-
🧪 单元测试 - 测试执行
- 运行所有单元测试
- 生成测试报告和代码覆盖率
-
🔍 代码质量扫描 - SonarQube分析
- 静态代码分析
- 代码质量评估
-
📦 打包 - 应用打包
- 生成可执行JAR文件
- 归档构建产物
-
🐳 构建Docker镜像 - 容器化
- 构建Docker镜像
- 创建版本标签
-
📤 传输Docker镜像 - 镜像部署
- 将镜像传输到目标服务器
- 在目标服务器加载镜像
-
🚀 部署应用 - 环境部署
- 测试环境: develop/feature分支 → 端口8080
- 生产环境: main/master分支 → 端口80
-
🏥 健康检查 - 应用验证
- 等待应用启动
- 验证健康检查接口
📊 第六部分:查看构建结果
1. 构建状态说明
- 🔵 蓝色: 构建成功
- 🔴 红色: 构建失败
- 🟡 黄色: 构建不稳定(测试失败但编译成功)
- ⚪ 灰色: 构建被取消或未执行
2. 查看测试报告
- 进入构建详情页面
- 点击 "测试结果"
- 查看单元测试通过率和详细结果
3. 查看代码覆盖率
- 在构建详情页面找到 "JaCoCo代码覆盖率"
- 查看代码覆盖率报告
- 分析哪些代码未被测试覆盖
4. 查看SonarQube报告
- 构建成功后访问:
http://116.62.163.84:15010
- 找到项目:
jenkins-demo
- 查看代码质量分析结果
5. 验证部署结果
构建成功后,根据分支验证部署:
测试环境(develop分支):
curl http://116.62.163.84:8080/api/health
curl http://116.62.163.84:8080/api/users
生产环境(main分支):
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容器日志
日志查看方式
# 查看构建日志
Jenkins控制台输出
# 查看应用日志
docker logs jenkins-demo-prod
docker logs jenkins-demo-test
# 查看系统日志
journalctl -u docker
📈 第八部分:高级配置
1. 配置构建通知
可以配置邮件、钉钉、企业微信等通知方式
2. 配置多分支Pipeline
支持自动发现和构建Git仓库的多个分支
3. 配置并行构建
充分利用服务器资源,加快构建速度
4. 配置构建缓存
缓存Maven依赖,减少构建时间
🎉 完成!
配置完成后,您的CI/CD流程就搭建好了!
工作流程:
- 开发人员提交代码到Git仓库
- Jenkins自动检测代码变更
- 执行完整的构建、测试、部署流程
- 自动部署到对应环境
- 发送构建结果通知
访问地址:
- Jenkins:
http://您的Jenkins服务器:8080
- SonarQube:
http://116.62.163.84:15010
- 应用生产环境:
http://116.62.163.84
- 应用测试环境:
http://116.62.163.84:8080
现在您的团队可以享受高效的DevOps工作流程了!🚀