From 2758f6da8e9a639d5171c038d00d1b442f9c1b9c Mon Sep 17 00:00:00 2001 From: jade Date: Fri, 24 Jul 2026 08:55:30 +0900 Subject: [PATCH] fix: Nginx port conflict with legacy containers --- .gitea/workflows/deploy.yml | 22 ++++++++++++++++++++-- 1 file changed, 20 insertions(+), 2 deletions(-) diff --git a/.gitea/workflows/deploy.yml b/.gitea/workflows/deploy.yml index c6b095f9..d4e5e1e5 100644 --- a/.gitea/workflows/deploy.yml +++ b/.gitea/workflows/deploy.yml @@ -51,8 +51,8 @@ jobs: OLD_TARGET="green" fi - # 공통 인프라 (DB, Redis 등) 띄우기 - ACTIVE_PROFILE=dev docker compose up -d redis mci-mock dozzle nginx + # 3.5. 공통 인프라 (DB, Redis 등) 먼저 띄우기 (Nginx 제외) + ACTIVE_PROFILE=dev docker compose up -d redis mci-mock dozzle # 4. 신규 버전(TARGET) 컨테이너 기동 echo "Building and starting $TARGET containers..." @@ -63,6 +63,24 @@ jobs: tool-other-$TARGET \ tool-payment-$TARGET + # 4.5. 레거시 컨테이너 청소 (포트 충돌 방지, Nginx 제외) + echo "Finding and killing legacy containers holding our ports..." + for port in 8281 8282 8283 8284 8285; do + cid=$(docker ps -q --filter "publish=$port" --filter "name!=nginx") + if [ ! -z "$cid" ]; then + echo "Force killing legacy container $cid using port $port" + docker rm -f $cid + fi + done + + # 4.6. Nginx 초기 설정 및 기동 + mkdir -p ./nginx/conf.d + if [ ! -f "./nginx/conf.d/default.conf" ]; then + echo "Initializing Nginx config to $TARGET..." + cp ./nginx/${TARGET}.conf ./nginx/conf.d/default.conf + fi + ACTIVE_PROFILE=dev docker compose up -d nginx + # 5. 헬스 체크 대기 (Spring Boot 기동 시간 확보) echo "Waiting 30 seconds for Spring Boot to start..." sleep 30