- 修改Jenkinsfile支持SSH用户名密码认证方式 - 添加JENKINS_PANEL_GUIDE.md详细操作指南 - 添加QUICK_START.md快速配置清单 - 添加服务器配置脚本支持用户名密码认证 - 更新配置文档和部署说明
5.2 KiB
5.2 KiB
Jenkins CI/CD 配置指南
🎯 项目信息
- Git仓库: http://116.62.163.84:15006/wangtianqi/java_demo.git
- 目标服务器: 116.62.163.84
- SonarQube服务器: http://116.62.163.84:15010
- SonarQube Token: squ_7e4217cabd0faae6f3b8ee359b3b8e2ac52eb69a
📋 Jenkins配置步骤
1. 创建Pipeline项目
- 登录Jenkins → 新建任务
- 输入任务名称:
java-demo-pipeline
- 选择Pipeline → 确定
2. 配置项目
基本配置
- 描述: Jenkins CI/CD Demo Project with Spring Boot 3
- GitHub项目: http://116.62.163.84:15006/wangtianqi/java_demo.git
Pipeline配置
- Definition: Pipeline script from SCM
- SCM: Git
- Repository URL: http://116.62.163.84:15006/wangtianqi/java_demo.git
- Credentials: 添加Git凭据(用户名:wangtianqi)
- Branch: */main
- Script Path: Jenkinsfile
3. 必需的Jenkins插件
确保以下插件已安装:
# 必需插件列表
- Maven Integration Plugin
- JaCoCo Plugin
- SonarQube Scanner Plugin
- Docker Pipeline Plugin
- SSH Agent Plugin
- Publish Over SSH Plugin
- Blue Ocean Plugin (推荐)
4. 工具配置
4.1 JDK配置
- 管理Jenkins → 工具配置 → JDK
- Name: JDK-17
- JAVA_HOME: /usr/lib/jvm/java-17-openjdk
4.2 Maven配置
- 管理Jenkins → 工具配置 → Maven
- Name: Maven-3.9.3
- MAVEN_HOME: /opt/maven
4.3 SonarQube配置
- 管理Jenkins → 系统配置 → SonarQube servers
- Name: SonarQube
- Server URL: http://116.62.163.84:15010
- Server authentication token: squ_7e4217cabd0faae6f3b8ee359b3b8e2ac52eb69a
5. 凭据配置
5.1 Git凭据
- 管理Jenkins → 凭据管理 → 添加凭据
- 类型: Username with password
- ID: git-credentials
- 用户名: wangtianqi
- 密码: [您的Git密码]
5.2 服务器SSH凭据(用户名密码方式)
- 管理Jenkins → 凭据管理 → 添加凭据
- 类型: Username with password
- ID: deploy-server-ssh
- 用户名: root (或您的服务器用户名)
- 密码: [服务器用户密码]
- 描述: Deploy Server SSH Credentials
注意: 使用用户名密码方式需要在Jenkins服务器上安装
sshpass
工具。大多数现代Linux发行版都可以通过包管理器安装。
6. 环境要求
6.1 Jenkins服务器环境
# 必需软件
- JDK 17
- Maven 3.9+
- Docker
- Git
- curl
6.2 目标服务器环境 (116.62.163.84)
# 必需软件
- Docker
- Docker Compose (可选)
# 防火墙配置
- 开放端口 80 (生产环境)
- 开放端口 8080 (测试环境)
7. Pipeline流程
graph TD
A[代码检出] --> B[环境检查]
B --> C[编译]
C --> D[单元测试]
D --> E[代码质量扫描]
E --> F[打包]
F --> G[构建Docker镜像]
G --> H{分支判断}
H -->|develop/feature| I[部署到测试环境]
H -->|main/master| J[部署到生产环境]
I --> K[健康检查]
J --> K
K --> L[完成]
8. 部署说明
8.1 测试环境部署
- 触发条件: develop 或 feature/* 分支
- 端口: 8080
- 容器名: jenkins-demo-test
8.2 生产环境部署
- 触发条件: main 或 master 分支
- 端口: 80
- 容器名: jenkins-demo-prod
- 需要手动确认
9. 监控地址
部署完成后的访问地址:
# 生产环境
http://116.62.163.84/api/health # 健康检查
http://116.62.163.84/api/users # 用户管理API
http://116.62.163.84/api/info # 应用信息
# 测试环境
http://116.62.163.84:8080/api/health # 健康检查
http://116.62.163.84:8080/api/users # 用户管理API
http://116.62.163.84:8080/api/info # 应用信息
10. 故障排除
10.1 常见问题
构建失败
# 检查Jenkins日志
cat /var/log/jenkins/jenkins.log
# 检查Maven配置
mvn -version
# 检查JDK配置
java -version
部署失败
# 检查目标服务器Docker状态
docker ps -a
docker logs jenkins-demo-prod
# 检查端口占用
netstat -tlnp | grep :80
SonarQube扫描失败
# 检查SonarQube服务状态
curl http://116.62.163.84:15010/api/system/status
# 验证Token
curl -u squ_7e4217cabd0faae6f3b8ee359b3b8e2ac52eb69a: http://116.62.163.84:15010/api/authentication/validate
11. 构建触发器
可以配置以下触发器:
- 轮询SCM:
H/5 * * * *
(每5分钟检查一次) - Webhook: 在Git仓库配置Webhook
- 定时构建:
H 2 * * *
(每天凌晨2点)
12. 通知配置
可以配置以下通知方式:
- 邮件通知: 构建结果发送邮件
- 钉钉通知: 集成钉钉机器人
- 企业微信: 集成企业微信机器人
🎉 完成!
配置完成后,您的团队就可以享受完整的CI/CD流程了:
- 代码提交 → 自动构建 → 自动测试 → 代码扫描 → 自动部署
- 质量保证: 单元测试覆盖率、代码质量检查
- 快速反馈: 构建失败立即通知,快速定位问题
- 环境一致性: Docker容器化部署,确保环境一致性