Files

67 lines
2.0 KiB
Bash
Executable File

#!/bin/bash
set -e
# ============================================
# 部署脚本 — 在 dev 服务器(192.168.100.128)上执行
# 用法:
# 本地执行: ./deploy/deploy-dev.sh
# 会自动 SSH 到 dev 服务器完成部署
# ============================================
DEV_HOST="192.168.100.128"
DEV_USER="root"
DEPLOY_DIR="/opt/sundynix"
HARBOR="192.168.100.140"
# 本地项目根目录
ROOT_DIR="$(cd "$(dirname "$0")/.." && pwd)"
CONFIG_DIR="${ROOT_DIR}/deploy/dev"
echo "=========================================="
echo " Sundynix Dev 环境部署"
echo " 目标: ${DEV_USER}@${DEV_HOST}"
echo "=========================================="
# 1. 在 dev 服务器上创建目录结构
echo "[1/4] 创建远程目录..."
ssh ${DEV_USER}@${DEV_HOST} "mkdir -p ${DEPLOY_DIR}/config"
# 2. 同步配置文件到 dev 服务器
echo "[2/4] 同步配置文件..."
scp ${CONFIG_DIR}/system-rpc.yaml ${DEV_USER}@${DEV_HOST}:${DEPLOY_DIR}/config/
scp ${CONFIG_DIR}/auth-api.yaml ${DEV_USER}@${DEV_HOST}:${DEPLOY_DIR}/config/
scp ${CONFIG_DIR}/system-api.yaml ${DEV_USER}@${DEV_HOST}:${DEPLOY_DIR}/config/
scp ${CONFIG_DIR}/gateway.yaml ${DEV_USER}@${DEV_HOST}:${DEPLOY_DIR}/config/
scp ${CONFIG_DIR}/docker-compose.yml ${DEV_USER}@${DEV_HOST}:${DEPLOY_DIR}/
# 3. SSH 到 dev 服务器执行部署
echo "[3/4] 拉取镜像并启动服务..."
ssh ${DEV_USER}@${DEV_HOST} << 'REMOTE_SCRIPT'
set -e
cd /opt/sundynix
# 停止旧容器并用已加载的镜像启动
docker compose down --remove-orphans 2>/dev/null || true
docker compose up -d
# 等待 3 秒后检查状态
sleep 3
echo ""
echo "========== 容器状态 =========="
docker compose ps
echo ""
echo "========== 最近日志 =========="
docker compose logs --tail=10
REMOTE_SCRIPT
echo ""
echo "[4/4] 部署完成 ✅"
echo ""
echo " 网关地址: http://${DEV_HOST}:8888"
echo " auth-api: http://${DEV_HOST}:9001"
echo " system-api: http://${DEV_HOST}:9003"
echo " system-rpc: ${DEV_HOST}:9103"
echo ""
echo " 验证: curl http://${DEV_HOST}:8888/api/auth/captcha"