Compare commits

..

3 Commits

Author SHA1 Message Date
bkyungee 50c5039ec0 Deploy: exdev sync 2026-08-13 17:39:39 2026-08-13 17:39:39 +09:00
bkyungee cd6a081a55 chore: chatbotApp 서브모듈 포인터를 44bbe25 로 갱신
아이폰에서 영업소 아이콘이 보이지 않던 문제를 고친 커밋을 가리키도록
루트가 기억하는 위치를 옮긴다. 이걸 갱신하지 않으면 루트를 clone 해서
git submodule update 로 받는 쪽은 수정 이전 버전을 받게 된다.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-13 17:22:32 +09:00
bkyungee 78d549194c fix: 원격 배포 rsync 제외 패턴이 소스를 잘못 걸러내던 문제 수정
tar 기반 rsync 대체 스크립트가 rsync 의 'node_modules/' 문법을 매칭하지
못해 node_modules 를 통째로 전송하다 메모리 부족으로 죽었다. 반대로
슬래시만 떼면 'build' 가 자바 패키지 kakao.response.build 까지 제외해
kakaoChatbotSkill 컴파일이 깨졌다. 선행 슬래시를 전송 루트 기준 고정으로
해석하도록 구분해 둘 다 해결한다.

배포 중 자동 커밋에 딸려 들어갔던 일회용 진단 스크립트도 함께 제거한다.
2026-08-13 15:07:36 +09:00
69 changed files with 14 additions and 41 deletions
Executable → Regular
View File
Executable → Regular
View File
View File
View File
View File
View File
Generated Executable → Regular
View File
View File
View File
View File
View File
View File
View File
View File
View File
View File
View File
Executable → Regular
View File
Executable → Regular
View File
Executable → Regular
View File
-16
View File
@@ -1,16 +0,0 @@
#!/usr/bin/env bash
ssh -o BatchMode=yes -o ConnectTimeout=15 aidev@chatbot.exdev.co.kr 'bash -s' <<'EOSSH'
export PATH="/opt/homebrew/bin:/opt/homebrew/sbin:/usr/local/bin:/Applications/Docker.app/Contents/Resources/bin:$PATH"
echo "=== listening ports ==="
for p in 16000 16001 16002 27017 1521 28012 28013 8086 8083 8092 443; do
if lsof -iTCP:$p -sTCP:LISTEN >/dev/null 2>&1; then echo "UP :$p"; else echo "DOWN :$p"; fi
done
echo "=== docker ps ==="
docker ps --format '{{.Names}}\t{{.Status}}' 2>&1 | head -20
echo "=== docker compose plugin ==="
docker compose version 2>&1 | head -2
echo "=== public-ai timestamp ==="
ls -la /Users/aidev/dev/exAichatbot_agent/chatbotApp-chatbot2.0-agent/public-ai/index.html 2>/dev/null || echo "(missing)"
echo "=== HTTPS UI ==="
curl -s -o /dev/null -w 'https=%{http_code}\n' -m 10 https://chatbot.exdev.co.kr/chatbot/ai/ 2>&1
EOSSH
Executable → Regular
+7 -1
View File
@@ -105,7 +105,13 @@ TAR_EXCLUDES=()
for pat in "${EXCLUDES[@]}"; do for pat in "${EXCLUDES[@]}"; do
# tar 의 --exclude 는 'node_modules/' 처럼 슬래시로 끝나면 디렉터리에 매칭되지 않는다. # tar 의 --exclude 는 'node_modules/' 처럼 슬래시로 끝나면 디렉터리에 매칭되지 않는다.
# (rsync 문법 그대로 넘기면 node_modules 가 통째로 전송돼 메모리 부족으로 죽는다) # (rsync 문법 그대로 넘기면 node_modules 가 통째로 전송돼 메모리 부족으로 죽는다)
TAR_EXCLUDES+=(--exclude "${pat%/}") pat="${pat%/}"
if [[ "${pat}" == /* ]]; then
# rsync 의 선행 슬래시 = 전송 루트 기준 고정. tar 멤버명은 './' 로 시작한다.
TAR_EXCLUDES+=(--anchored --exclude ".${pat}")
else
TAR_EXCLUDES+=(--no-anchored --exclude "${pat}")
fi
done done
ssh -o BatchMode=yes "${HOST}" "mkdir -p '${REMOTE_PATH}'" ssh -o BatchMode=yes "${HOST}" "mkdir -p '${REMOTE_PATH}'"
View File
Executable → Regular
View File
-19
View File
@@ -1,19 +0,0 @@
#!/usr/bin/env bash
export PATH="/opt/homebrew/bin:/opt/homebrew/sbin:/usr/local/bin:/Applications/Docker.app/Contents/Resources/bin:/usr/bin:/bin:/usr/sbin:/sbin"
cd /Users/aidev/dev/exAichatbot_agent
git config core.autocrlf false
git config core.eol lf
python3 - << 'PYEOF'
import os
for d in ['kakaoChatbotSkill-chatbot2.0-agent','chatbotApi-chatbot2.0-agent']:
f = d+'/gradlew'
if os.path.exists(f):
data=open(f,'rb').read().replace(b'\r\n',b'\n').replace(b'\r',b'\n')
open(f,'wb').write(data)
os.chmod(f,0o755)
print('fixed:', f)
PYEOF
bash server-dev/start-all-server.sh --no-pull --no-push --skip-desktop
View File
Executable → Regular
View File
View File
Executable → Regular
View File
View File
Executable → Regular
View File
Executable → Regular
View File
Executable → Regular
View File
View File
View File
Executable → Regular
View File
View File
View File
View File
View File
Executable → Regular
View File
Executable → Regular
View File
Executable → Regular
View File
View File
Can't render this file because it is too large.
View File
View File
View File
View File
Can't render this file because it is too large.
View File
View File
View File
View File
View File
View File
View File
View File
View File
View File
Executable → Regular
View File
Executable → Regular
View File
Executable → Regular
View File
Executable → Regular
View File
Executable → Regular
View File
+6 -4
View File
@@ -23,16 +23,18 @@ for path in "${SUBMODULES[@]}"; do
local_src="${ROOT_DIR}/${path}" local_src="${ROOT_DIR}/${path}"
[[ -d "${local_src}" ]] || { echo "ERROR: ${local_src} 없음"; exit 1; } [[ -d "${local_src}" ]] || { echo "ERROR: ${local_src} 없음"; exit 1; }
log ">>> rsync ${path}" log ">>> rsync ${path}"
# build/dist/logs 는 자바 패키지명(예: kakao.response.build)과 충돌하므로
# 선행 슬래시로 프로젝트 최상위에만 적용한다.
rsync -az --delete \ rsync -az --delete \
--exclude 'node_modules/' \ --exclude 'node_modules/' \
--exclude 'build/' \
--exclude 'dist/' \
--exclude '.gradle/' \ --exclude '.gradle/' \
--exclude 'qdrant_data/' \ --exclude 'qdrant_data/' \
--exclude 'logs/' \
--exclude '.next/' \ --exclude '.next/' \
--exclude 'web/out/' \
--exclude '.git/' \ --exclude '.git/' \
--exclude '/build/' \
--exclude '/dist/' \
--exclude '/logs/' \
--exclude '/web/out/' \
"${local_src}/" "${EXDEV_SSH}:${REMOTE_WT}/${path}/" "${local_src}/" "${EXDEV_SSH}:${REMOTE_WT}/${path}/"
done done
Executable → Regular
View File
Executable → Regular
View File
Executable → Regular
View File