zhangjf 1e346c3a2e feat: 添加生产环境部署脚本
- deploy-config.sh: 部署配置文件(服务器信息、路径配置)
- deploy-mobile.sh: 移动端部署脚本
- deploy-admin.sh: 管理后台部署脚本
- deploy-service.sh: 服务部署脚本(只更新lib目录)
- deploy-all.sh: 全量部署脚本
2026-02-23 15:03:14 +08:00

95 lines
2.3 KiB
Bash
Executable File

#!/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 "============================================"