From fb54998def3ebc57964e6121f3875289248ac301 Mon Sep 17 00:00:00 2001 From: gahusb Date: Mon, 11 May 2026 04:07:02 +0900 Subject: [PATCH] =?UTF-8?q?fix(deployer):=20deploy.sh=204=20=ED=99=94?= =?UTF-8?q?=EC=9D=B4=ED=8A=B8=EB=A6=AC=EC=8A=A4=ED=8A=B8=EC=97=90=20packs-?= =?UTF-8?q?lab=20=EC=B6=94=EA=B0=80=20+=20media/packs=20=EC=9E=90=EB=8F=99?= =?UTF-8?q?=20=EC=83=9D=EC=84=B1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit deployer가 webhook 받을 때 packs-lab을 자동 rebuild·재시작·헬스체크 안 하던 근본 원인 — deploy.sh의 BUILD_TARGETS / CONTAINER_NAMES / HEALTH_ENDPOINTS 3개 화이트리스트에서 packs-lab 누락. SERVICES 화이트리스트(deploy-nas.sh)는 rsync 동기화용이라 별도이며 거기엔 이전에 추가했지만 빌드 트리거는 deploy.sh가 담당. Fix: - BUILD_TARGETS, CONTAINER_NAMES, HEALTH_ENDPOINTS에 packs-lab 추가 - media/packs 디렉토리 자동 mkdir + chown (admin이 수동 생성하던 절차 제거) - DATA_DIRS는 path 다르니(data/X 아닌 media/packs) 제외 이번 push 자체는 옛 deploy.sh로 처리되지만 새 deploy.sh가 RUNTIME에 sync된 후 다음 push부터 packs-lab이 자동 빌드·헬스체크된다. --- scripts/deploy.sh | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/scripts/deploy.sh b/scripts/deploy.sh index 25064cc..84dec2a 100644 --- a/scripts/deploy.sh +++ b/scripts/deploy.sh @@ -7,12 +7,12 @@ flock -n 200 || { echo "Deploy already running, skipping"; exit 0; } # ── 서비스 목록 (한 곳에서만 관리) ── # docker compose 서비스명 (deployer 제외 — 자기 자신을 재빌드하면 스크립트 중단) -BUILD_TARGETS="lotto travel-proxy stock-lab music-lab blog-lab realestate-lab agent-office personal frontend" +BUILD_TARGETS="lotto travel-proxy stock-lab music-lab blog-lab realestate-lab agent-office personal packs-lab frontend" # 컨테이너 이름 (고아 정리용) -CONTAINER_NAMES="lotto stock-lab music-lab blog-lab realestate-lab agent-office personal travel-proxy frontend" +CONTAINER_NAMES="lotto stock-lab music-lab blog-lab realestate-lab agent-office personal packs-lab travel-proxy frontend" # 헬스체크 대상 -HEALTH_ENDPOINTS="lotto stock-lab travel-proxy music-lab blog-lab realestate-lab agent-office personal" -# data 디렉토리 +HEALTH_ENDPOINTS="lotto stock-lab travel-proxy music-lab blog-lab realestate-lab agent-office personal packs-lab" +# data 디렉토리 (packs-lab은 별도 media/packs 사용) DATA_DIRS="music stock blog realestate agent-office personal" # 1. 자동 감지: Docker 컨테이너 내부인가? @@ -75,6 +75,10 @@ for d in $DATA_DIRS; do mkdir -p "$DST/data/$d" done +# packs-lab media 디렉토리 (DSM 공유 + admin upload target) +mkdir -p "$DST/media/packs" +chown "${DEPLOY_UID}:${DEPLOY_GID}" "$DST/media/packs" 2>/dev/null || true + # ── 서비스 재빌드 (deployer 제외) ── cd "$DST"