Files
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

2.8 KiB
Raw Permalink Blame History

Jenkins配置指南

1. 初始化设置

  1. 访问 http://localhost:8081/jenkins
  2. 使用初始管理员密码登录(见 /tmp/jenkins-admin-password.txt)
  3. 选择 "安装推荐的插件"
  4. 创建管理员用户
  5. 配置Jenkins URL: http://localhost:8081/jenkins/

2. 必要插件安装

运行插件安装脚本查看推荐插件:

./docker/compose/jenkins/scripts/install-plugins.sh

3. 系统配置

3.1 全局工具配置

  • Git: /usr/bin/git
  • Docker: /usr/local/bin/docker
  • Maven: 自动安装最新版本
  • Node.js: 自动安装最新LTS版本

3.2 凭据配置

在 "管理Jenkins" -> "凭据" 中添加:

  • Gitea Token (Secret text)
  • Docker Registry 认证 (Username/Password)
  • SSH密钥 (SSH Username with private key)

3.3 系统设置

4. 创建Pipeline作业

4.1 基础Pipeline

pipeline {
    agent any
    
    environment {
        DOCKER_REGISTRY = 'localhost:5001'
        GITEA_URL = 'http://gitea:3000'
    }
    
    stages {
        stage('检出代码') {
            steps {
                git branch: 'main', url: "${GITEA_URL}/your-repo.git"
            }
        }
        
        stage('构建测试') {
            steps {
                sh 'echo "执行测试..."'
            }
        }
        
        stage('构建镜像') {
            steps {
                script {
                    def image = docker.build("${DOCKER_REGISTRY}/app:${BUILD_NUMBER}")
                    docker.withRegistry("http://${DOCKER_REGISTRY}") {
                        image.push()
                    }
                }
            }
        }
    }
}

4.2 Gitea Webhook配置

  1. 在Gitea项目设置中添加Webhook
  2. URL: http://localhost:8081/jenkins/generic-webhook-trigger/invoke
  3. 内容类型: application/json
  4. 触发事件: Push events

5. 性能优化

5.1 JVM参数优化

在docker-compose.yml中已配置:

  • -Xmx2g -Xms1g
  • -XX:+UseG1GC
  • -XX:MaxGCPauseMillis=200

5.2 构建历史清理

  • 保留构建数: 50
  • 保留天数: 30

5.3 工作空间清理

使用 "Workspace Cleanup" 插件自动清理

6. 备份策略

6.1 自动备份

使用 jenkins-manager.sh 脚本:

./deployment/scripts/jenkins-manager.sh
# 选择选项 4 进行备份

6.2 手动备份

tar -czf jenkins-backup-$(date +%Y%m%d).tar.gz -C /Users/brunogao/work/infra/data/jenkins .

7. 故障排除

7.1 常见问题

  • Jenkins无法启动: 检查端口占用和权限
  • 插件安装失败: 检查网络连接和代理设置
  • 构建失败: 检查工具配置和环境变量

7.2 日志查看

docker logs jenkins
docker exec jenkins tail -f /var/jenkins_home/logs/jenkins.log