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

81 lines
1.8 KiB
Bash
Executable File

#!/bin/bash
# 部署脚本 - 用于启动和管理服务
# 设置环境变量
export COMPOSE_PROJECT_NAME=cicd
export COMPOSE_FILE=/Users/brunogao/work/infra/docker/compose/docker-compose.yml
# 函数:检查服务健康状态
check_health() {
local service=$1
local port=$2
echo "检查 $service 服务状态..."
curl -s -o /dev/null -w "%{http_code}" localhost:$port
}
# 启动所有服务
start_services() {
echo "启动所有服务..."
cd /Users/brunogao/work/infra/docker/compose
docker-compose up -d
}
# 停止所有服务
stop_services() {
echo "停止所有服务..."
cd /Users/brunogao/work/infra/docker/compose
docker-compose down
}
# 重启特定服务
restart_service() {
local service=$1
echo "重启 $service 服务..."
cd /Users/brunogao/work/infra/docker/compose
docker-compose restart $service
}
# 检查所有服务状态
check_all_services() {
echo "检查所有服务状态..."
check_health "Gitea" 3000
check_health "Drone" 8000
check_health "Registry" 5000
}
# 主菜单
show_menu() {
echo "=== CI/CD 服务管理 ==="
echo "1. 启动所有服务"
echo "2. 停止所有服务"
echo "3. 重启特定服务"
echo "4. 检查服务状态"
echo "5. 退出"
echo "请选择操作 (1-5): "
}
# 主程序
main() {
while true; do
show_menu
read -r choice
case $choice in
1) start_services ;;
2) stop_services ;;
3)
echo "请输入服务名称 (gitea/drone-server/drone-runner/registry): "
read -r service
restart_service "$service"
;;
4) check_all_services ;;
5) exit 0 ;;
*) echo "无效选择" ;;
esac
echo "按回车键继续..."
read -r
done
}
# 运行主程序
main