#!/bin/bash set -e SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" echo "╔════════════════════════════════════════════╗" echo "║ 🚀 Novalon CI/CD 一键配置启动器 ║" echo "╚════════════════════════════════════════════╝" echo "" case "$1" in --full|-f) echo "📋 模式: 完整安装(重建容器 + 全部配置)" exec bash "${SCRIPT_DIR}/setup-cicd.sh" --full ;; --jenkins|-j) echo "📋 模式: 仅配置 Jenkins(工具 + 凭据 + 插件)" exec bash "${SCRIPT_DIR}/setup-cicd.sh" --jenkins ;; --webhook|-w) echo "📋 模式: 仅配置 Gitea Webhook" exec bash "${SCRIPT_DIR}/setup-cicd.sh" --webhook ;; --verify|-v) echo "📋 模式: 验证当前配置" source "${SCRIPT_DIR}/lib/utils.sh" source "${SCRIPT_DIR}/lib/verify.sh" load_config_or_defaults run_all_verifications exit 0 ;; --clean|-c) echo "📋 模式: 清理所有配置" read -p "⚠️ 确定要删除 Jenkins 容器和所有配置吗?(y/N): " confirm if [[ "$confirm" =~ ^[Yy]$ ]]; then docker stop jenkins 2>/dev/null || true docker rm jenkins 2>/dev/null || true docker volume rm jenkins_data 2>/dev/null || true echo "✅ 清理完成" fi exit 0 ;; --help|-h|*) echo "用法: $0 [选项]" echo "" echo "选项:" echo " --full, -f 完整安装(重建 Docker 容器 + 安装工具 + 配置凭据 + 创建任务 + 配置 Webhook)" echo " --jenkins, -j 仅配置 Jenkins(安装工具、插件、凭据,创建 Pipeline 任务)" echo " --webhook, -w 仅配置 Gitea Webhook" echo " --verify, -v 验证当前配置是否正确" echo " --clean, -c 清理 Jenkins 容器和数据" echo " --help, -h 显示帮助信息" echo "" echo "示例:" echo " $0 --full # 首次使用或需要完全重置时" echo " $0 # 快速配置(不重建容器)" echo " $0 --verify # 检查所有配置是否正常" echo "" exit 0 ;; esac