#!/bin/bash # ============================================ # 更新单个服务脚本 # 用法: ./update-service.sh <服务名> # 示例: ./update-service.sh resume-web # ============================================ SERVICE_NAME=$1 if [ -z "$SERVICE_NAME" ]; then echo "错误:请指定服务名" echo "用法: $0 <服务名>" echo "可用服务: resume-web, miniapp-web, resume-api, miniapp-api" exit 1 fi if [ ! -d "services/$SERVICE_NAME" ]; then echo "错误:服务 '$SERVICE_NAME' 不存在" exit 1 fi echo "==========================================" echo " 更新服务: $SERVICE_NAME" echo "==========================================" # 如果有 Dockerfile,重新构建 if [ -f "services/$SERVICE_NAME/Dockerfile" ]; then echo "检测到 Dockerfile,正在构建镜像..." docker-compose build "$SERVICE_NAME" fi # 重启指定服务 echo "正在重启服务..." docker-compose up -d --no-deps --force-recreate "$SERVICE_NAME" # 检查健康状态 echo "" echo "等待服务启动..." sleep 3 if docker-compose ps | grep "$SERVICE_NAME" | grep -q "Up"; then echo "服务 $SERVICE_NAME 更新成功" else echo "警告:服务 $SERVICE_NAME 状态异常,请检查日志" docker-compose logs --tail=50 "$SERVICE_NAME" fi