#!/bin/bash # ============================================ # 部署配置文件 # ============================================ # 生产环境SSH配置 PROD_HOST="82.156.159.46" PROD_USER="fundsp" PROD_PASSWORD="fdsp@Ywj\$107P#KM" # 部署路径配置 MOBILE_DEPLOY_PATH="/home/fundsp/portal/fmobile" ADMIN_DEPLOY_PATH="/home/fundsp/portal/fadmin" SERVICE_DEPLOY_BASE="/home/fundsp/app" # 本地打包路径 # 获取项目根目录(脚本目录的上两级) PROJECT_ROOT="$(cd "$SCRIPT_DIR/../.." && pwd)" LOCAL_DEPLOY_DIR="$PROJECT_ROOT/deploy" LOCAL_MOBILE_ZIP="fund-mobile.zip" LOCAL_ADMIN_ZIP="fund-admin.zip" # 服务列表 SERVICES=( "fund-gateway" "fund-sys" "fund-cust" "fund-proj" "fund-exp" "fund-receipt" "fund-report" "fund-req" "fund-file" ) # 颜色输出 RED='\033[0;31m' GREEN='\033[0;32m' YELLOW='\033[1;33m' NC='\033[0m' # No Color # 日志函数 log_info() { echo -e "${GREEN}[INFO]${NC} $1" } log_warn() { echo -e "${YELLOW}[WARN]${NC} $1" } log_error() { echo -e "${RED}[ERROR]${NC} $1" } # 检查sshpass是否安装 check_sshpass() { if ! command -v sshpass &> /dev/null; then log_error "sshpass 未安装,请先安装: sudo apt install sshpass" exit 1 fi } # 执行远程命令 remote_exec() { local cmd="$1" sshpass -p "$PROD_PASSWORD" ssh -o StrictHostKeyChecking=no "$PROD_USER@$PROD_HOST" "$cmd" } # 上传文件 upload_file() { local local_path="$1" local remote_path="$2" sshpass -p "$PROD_PASSWORD" scp -o StrictHostKeyChecking=no "$local_path" "$PROD_USER@$PROD_HOST:$remote_path" }