Files
java-template/docs/troubleshooting.md
T
bruno 8c3881bf89 🚀 feat: 企业级CI/CD基础设施完整部署方案
✨ 新功能:
- 一键自动化部署脚本 (build-infra.sh)
- 统一端口配置 (3开头端口,避免冲突)
- 多平台Docker构建支持 (AMD64 + ARM64)
- Jenkins Configuration as Code (零手动配置)
- 完整的服务验证和健康检查

🏗️ 核心组件:
- Jenkins LTS + JDK21 (端口38080)
- Gitea 1.21 (端口33000, SSH: 32222)
- Docker Registry + UI (端口35001/35002)
- 统一cicd-network网络

📋 管理工具:
- 自动化部署和验证脚本
- 健康检查和日志管理工具
- 完整的文档和故障排查指南

🎯 已验证功能:
- 所有服务正常启动和运行
- API和Web界面完全可访问
- 多平台构建环境就绪
- 完整的CI/CD流水线支持

适用环境: Mac Studio M2 + Docker Desktop
2025-08-23 22:11:50 +08:00

3.7 KiB

CI/CD 系统问题排查指南

常见问题及解决方案

1. Gitea Webhook 触发失败

症状

  • Webhook 显示发送失败
  • CI/CD 流水线没有被触发
  • Gitea 界面显示 Webhook 发送错误

排查步骤

  1. 检查 Webhook 配置
# 检查 Gitea 日志
tail -f /var/log/gitea/gitea.log

# 检查 Webhook URL 可访问性
curl -v http://drone-server:8000/hook
  1. 检查网络连接
# 检查 Drone 服务是否运行
orb ps | grep drone

# 检查网络连通性
ping drone-server
  1. 检查认证配置
  • 确认 Webhook Secret 是否正确
  • 验证 Gitea 和 Drone 的集成配置

2. Drone CI 构建失败

症状

  • 构建任务启动失败
  • 构建过程中断
  • 构建完成但结果失败

排查步骤

  1. 检查 Drone 日志
# 查看 Drone 服务日志
orb logs drone-server
orb logs drone-runner
  1. 检查构建环境
# 检查 Docker 状态
orb docker ps
orb docker info
  1. 检查资源使用
# 检查系统资源
top
df -h

3. Registry 推送失败

症状

  • 镜像推送失败
  • 认证错误
  • 存储空间不足

排查步骤

  1. 检查认证配置
# 测试 Registry 认证
docker login localhost:5000

# 检查认证配置
cat /Users/brunogao/work/infra/docker/registry/config.yml
  1. 检查存储状态
# 检查存储空间
du -sh /Users/brunogao/work/infra/docker/registry/data

# 检查 Registry 日志
orb logs registry

4. OrbStack 相关问题

症状

  • 容器启动失败
  • 网络连接问题
  • 资源限制问题

排查步骤

  1. 检查 OrbStack 状态
# 检查整体状态
orb ps

# 检查系统信息
orb system info
  1. 检查网络配置
# 检查网络列表
orb network ls

# 检查网络连接
orb network inspect bridge
  1. 检查资源使用
# 检查容器资源使用
orb stats

日志收集

1. 服务日志

# Gitea 日志
orb logs gitea

# Drone 日志
orb logs drone-server
orb logs drone-runner

# Registry 日志
orb logs registry

2. 系统日志

# 系统日志
tail -f /var/log/system.log

# OrbStack 日志
orb system logs

常用调试命令

1. 服务健康检查

# 检查 Gitea
curl -I http://localhost:3000

# 检查 Drone
curl -I http://localhost:8000

# 检查 Registry
curl -I http://localhost:5000/v2/

2. 网络调试

# 检查端口占用
lsof -i :3000
lsof -i :8000
lsof -i :5000

# 检查网络连接
netstat -an | grep LISTEN

3. 容器调试

# 进入容器
orb exec <container_name> sh

# 查看容器详情
orb inspect <container_name>

性能优化

1. 资源限制调整

  • 调整 OrbStack 资源限制
  • 优化容器资源分配
  • 监控资源使用情况

2. 网络优化

  • 使用本地网络
  • 优化 DNS 配置
  • 减少网络延迟

3. 存储优化

  • 定期清理旧数据
  • 优化存储配置
  • 监控存储使用情况

安全检查

1. 访问控制

  • 检查认证配置
  • 验证权限设置
  • 审计访问日志

2. 网络安全

  • 检查防火墙规则
  • 验证 SSL/TLS 配置
  • 监控异常访问

备份和恢复

1. 数据备份

# 备份 Gitea 数据
orb backup gitea

# 备份 Registry 数据
tar -czf registry_backup.tar.gz /Users/brunogao/work/infra/docker/registry/data

2. 配置备份

# 备份配置文件
cp -r /Users/brunogao/work/infra/cicd/drone/config /backup/drone_config
cp -r /Users/brunogao/work/infra/docker/registry/config /backup/registry_config

更新和升级

1. 服务更新

# 更新 OrbStack
orb update

# 更新容器镜像
orb pull gitea
orb pull registry

2. 配置更新

  • 备份旧配置
  • 应用新配置
  • 验证服务正常