#!/usr/bin/env bash # 로컬 submodule 소스 → chatbot.exdev.co.kr work tree rsync # (서버에서 GitHub HTTPS/SSH 미설정 시 deploy 보조) set -euo pipefail ROOT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)" EXDEV_SSH="${EXDEV_SSH:-aidev@chatbot.exdev.co.kr}" REMOTE_WT="${REMOTE_WORK_TREE:-/Users/aidev/dev/exAichatbot_agent}" log() { echo "[sync-submodules] $*"; } SUBMODULES=( chatbotApp-chatbot2.0-agent chatbotApi-chatbot2.0-agent exAiChatBot-chatbot2.0-agent kakaoChatbotSkill-chatbot2.0-agent chatbotDesktopApp-chatbot2.0 ) log "원격 동기화: ${EXDEV_SSH}:${REMOTE_WT}" for path in "${SUBMODULES[@]}"; do local_src="${ROOT_DIR}/${path}" [[ -d "${local_src}" ]] || { echo "ERROR: ${local_src} 없음"; exit 1; } log ">>> rsync ${path}" rsync -az --delete \ --exclude 'node_modules/' \ --exclude 'build/' \ --exclude 'dist/' \ --exclude '.gradle/' \ --exclude 'qdrant_data/' \ --exclude 'logs/' \ "${local_src}/" "${EXDEV_SSH}:${REMOTE_WT}/${path}/" done log "overlay 복사..." rsync -az "${ROOT_DIR}/server-dev/docker-compose.rag.server.yml" \ "${EXDEV_SSH}:${REMOTE_WT}/server-dev/docker-compose.rag.server.yml" rsync -az "${ROOT_DIR}/server-dev/docker-compose.oracle.yml" \ "${EXDEV_SSH}:${REMOTE_WT}/server-dev/docker-compose.oracle.yml" rsync -az "${ROOT_DIR}/server-dev/oracle/" \ "${EXDEV_SSH}:${REMOTE_WT}/server-dev/oracle/" rsync -az "${ROOT_DIR}/local-dev/docker-compose.rag.local.yml" \ "${EXDEV_SSH}:${REMOTE_WT}/local-dev/docker-compose.rag.local.yml" 2>/dev/null || true ssh -o BatchMode=yes "${EXDEV_SSH}" "mkdir -p '${REMOTE_WT}/exAiChatBot-chatbot2.0-agent' '${REMOTE_WT}/server-dev/oracle/init' && \ cp '${REMOTE_WT}/server-dev/docker-compose.rag.server.yml' '${REMOTE_WT}/exAiChatBot-chatbot2.0-agent/docker-compose.server.yml' 2>/dev/null || true" if [[ -d "${ROOT_DIR}/chatbotApp-chatbot2.0-agent/public" ]]; then log ">>> rsync chatbotApp/public (로컬 빌드 산출물)" rsync -az "${ROOT_DIR}/chatbotApp-chatbot2.0-agent/public/" \ "${EXDEV_SSH}:${REMOTE_WT}/chatbotApp-chatbot2.0-agent/public/" fi if [[ -d "${ROOT_DIR}/chatbotApp-chatbot2.0-agent/public-ai" ]]; then log ">>> rsync chatbotApp/public-ai (AI 모드 빌드 산출물)" rsync -az "${ROOT_DIR}/chatbotApp-chatbot2.0-agent/public-ai/" \ "${EXDEV_SSH}:${REMOTE_WT}/chatbotApp-chatbot2.0-agent/public-ai/" fi log "✅ submodule rsync 완료"