#!/bin/sh # --- 分支检查 --- CUR_BRANCH=$(git symbolic-ref --quiet --short HEAD 2>/dev/null || git rev-parse --abbrev-ref HEAD) [ "$CUR_BRANCH" = "main" ] || { echo "❌ 仅允许在 main 分支打包!"; exit 1; } # --- 交互式拉代码 --- echo "→ 正在 git pull,请输入用户名/密码 ..." git pull origin main || { echo "❌ git pull 失败"; exit 1; } # --- 后续流程 --- npm run build || { echo "❌ npm run build 失败"; exit 1; } # 停止并删除现有容器 echo "🛑 停止现有容器..." docker-compose down # 构建并启动服务 echo "🔨 构建并启动服务..." docker-compose up -d --build # 检查服务状态 echo "" echo "📊 服务状态:" docker-compose ps echo "" echo "✅ 服务启动完成!"