#!/bin/bash # ============================================ # 全量部署脚本 # 用法: ./deploy-all.sh [mobile|admin|services|all] # 示例: ./deploy-all.sh mobile # 只部署移动端 # ./deploy-all.sh admin # 只部署管理后台 # ./deploy-all.sh services # 只部署所有服务 # ./deploy-all.sh all # 部署全部 # ============================================ SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)" source "$SCRIPT_DIR/deploy-config.sh" DEPLOY_TYPE="${1:-all}" log_info "============================================" log_info "全量部署脚本" log_info "============================================" log_info "部署类型: $DEPLOY_TYPE" log_info "" # 检查sshpass check_sshpass # 部署移动端 deploy_mobile() { log_info ">>> 开始部署移动端..." "$SCRIPT_DIR/deploy-mobile.sh" } # 部署管理后台 deploy_admin() { log_info ">>> 开始部署管理后台..." "$SCRIPT_DIR/deploy-admin.sh" } # 部署单个服务 deploy_service() { local service_name="$1" log_info ">>> 开始部署服务: $service_name" "$SCRIPT_DIR/deploy-service.sh" "$service_name" } # 部署所有服务 deploy_all_services() { for service in "${SERVICES[@]}"; do deploy_service "$service" echo "" done } # 根据参数执行部署 case "$DEPLOY_TYPE" in mobile) deploy_mobile ;; admin) deploy_admin ;; services) deploy_all_services ;; all) deploy_mobile echo "" deploy_admin echo "" deploy_all_services ;; *) # 检查是否是服务名 FOUND=0 for service in "${SERVICES[@]}"; do if [ "$service" = "$DEPLOY_TYPE" ]; then deploy_service "$DEPLOY_TYPE" FOUND=1 break fi done if [ $FOUND -eq 0 ]; then log_error "未知参数: $DEPLOY_TYPE" echo "用法: $0 [mobile|admin|services|all|服务名]" echo "可用服务:" for svc in "${SERVICES[@]}"; do echo " - $svc" done exit 1 fi ;; esac log_info "============================================" log_info "部署完成!" log_info "============================================"