#!/bin/bash # X-Server Mobile 后端部署脚本(服务器端) # 使用方法: cd /opt/x-server-mobile && ./deploy.sh set -e # 颜色输出 RED='\033[0;31m' GREEN='\033[0;32m' YELLOW='\033[1;33m' BLUE='\033[0;34m' NC='\033[0m' log_info() { echo -e "${GREEN}[INFO]${NC} $1" } log_warn() { echo -e "${YELLOW}[WARN]${NC} $1" } log_error() { echo -e "${RED}[ERROR]${NC} $1" } log_step() { echo -e "${BLUE}==>${NC} $1" } # 项目目录 PROJECT_DIR="/opt/x-server-mobile" cd "$PROJECT_DIR" echo "==========================================" echo " X-Server Mobile 后端部署" echo "==========================================" echo "" echo "项目目录: $PROJECT_DIR" echo "" # ============================================ # 1. 拉取最新代码 # ============================================ log_step "拉取最新代码..." # 获取当前分支名 CURRENT_BRANCH=$(git rev-parse --abbrev-ref HEAD) # 拉取最新代码 git fetch origin git reset --hard "origin/${CURRENT_BRANCH}" log_info "代码已更新" # ============================================ # 2. 重启后端容器 # ============================================ log_step "重启后端容器..." if [ ! -f "docker-compose.prod.yml" ]; then log_error "docker-compose.prod.yml 不存在" exit 1 fi # 重启容器 docker-compose -f docker-compose.prod.yml down 2>/dev/null || true docker-compose -f docker-compose.prod.yml up -d log_info "后端容器已重启" # ============================================ # 3. 显示容器状态 # ============================================ echo "" log_step "容器状态" echo "" docker ps | grep x-server || log_warn "未找到运行中的容器" echo "" # ============================================ # 4. 完成 # ============================================ log_info "后端部署完成!" echo "" echo "访问地址: https://uniservice-mobile.hnxinyouhe.com" echo "" echo "查看后端日志:" echo " docker logs -f x-server-backend-prod" echo ""