70 lines
2.0 KiB
Bash
Executable File
70 lines
2.0 KiB
Bash
Executable File
#!/bin/bash
|
|
# ============================================
|
|
# 管理后台部署脚本
|
|
# 用法: ./deploy-admin.sh [本地zip文件路径]
|
|
# ============================================
|
|
|
|
SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
|
|
source "$SCRIPT_DIR/deploy-config.sh"
|
|
|
|
# 获取本地zip文件路径
|
|
if [ -n "$1" ]; then
|
|
LOCAL_ZIP="$1"
|
|
else
|
|
# 默认使用deploy目录下的fund-admin.zip
|
|
LOCAL_ZIP="$LOCAL_DEPLOY_DIR/$LOCAL_ADMIN_ZIP"
|
|
fi
|
|
|
|
log_info "============================================"
|
|
log_info "管理后台部署开始"
|
|
log_info "============================================"
|
|
log_info "本地文件: $LOCAL_ZIP"
|
|
log_info "远程路径: $ADMIN_DEPLOY_PATH"
|
|
log_info ""
|
|
|
|
# 检查sshpass
|
|
check_sshpass
|
|
|
|
# 检查本地文件是否存在
|
|
if [ ! -f "$LOCAL_ZIP" ]; then
|
|
log_error "本地zip文件不存在: $LOCAL_ZIP"
|
|
exit 1
|
|
fi
|
|
|
|
# 显示文件大小
|
|
FILE_SIZE=$(ls -lh "$LOCAL_ZIP" | awk '{print $5}')
|
|
log_info "文件大小: $FILE_SIZE"
|
|
|
|
# 1. 备份旧版本
|
|
log_info "备份旧版本..."
|
|
remote_exec "if [ -d '$ADMIN_DEPLOY_PATH' ]; then \
|
|
mkdir -p '$ADMIN_DEPLOY_PATH/../backup'; \
|
|
BACKUP_NAME='fadmin_backup_\$(date +%Y%m%d_%H%M%S)'; \
|
|
mv '$ADMIN_DEPLOY_PATH' '$ADMIN_DEPLOY_PATH/../backup/\$BACKUP_NAME' 2>/dev/null || true; \
|
|
echo '备份完成: '\$BACKUP_NAME; \
|
|
fi"
|
|
|
|
# 2. 创建新目录
|
|
log_info "创建新目录..."
|
|
remote_exec "mkdir -p '$ADMIN_DEPLOY_PATH'"
|
|
|
|
# 3. 上传zip文件
|
|
log_info "上传zip文件..."
|
|
TEMP_REMOTE_PATH="/tmp/fund-admin-$$.zip"
|
|
upload_file "$LOCAL_ZIP" "$TEMP_REMOTE_PATH"
|
|
log_info "上传完成"
|
|
|
|
# 4. 解压文件
|
|
log_info "解压文件..."
|
|
remote_exec "cd '$ADMIN_DEPLOY_PATH' && unzip -o '$TEMP_REMOTE_PATH' && rm -f '$TEMP_REMOTE_PATH'"
|
|
log_info "解压完成"
|
|
|
|
# 5. 验证部署
|
|
log_info "验证部署..."
|
|
FILE_COUNT=$(remote_exec "find '$ADMIN_DEPLOY_PATH' -type f | wc -l")
|
|
log_info "部署文件数: $FILE_COUNT"
|
|
|
|
log_info "============================================"
|
|
log_info "管理后台部署完成!"
|
|
log_info "============================================"
|