From 30bb3adfc1cdd706866afa0c35e7f9ffede4ae0e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EB=82=98=EB=AF=B8?= Date: Wed, 29 Jul 2026 06:15:59 +0900 Subject: [PATCH] =?UTF-8?q?fix:=20=EB=B0=B0=ED=8F=AC=EC=9A=A9=20jar?= =?UTF-8?q?=EB=A5=BC=20=EA=B3=A0=EC=A0=95=EB=90=9C=20=EC=9D=B4=EB=A6=84(ap?= =?UTF-8?q?p.jar)=EC=9C=BC=EB=A1=9C=20=EB=B3=B5=EC=82=AC=ED=95=B4=20?= =?UTF-8?q?=EC=84=A0=ED=83=9D=20=EB=AA=A8=ED=98=B8=EC=84=B1=20=EC=A0=9C?= =?UTF-8?q?=EA=B1=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 이전에는 deploy.sh가 /home/ec2-user/app/ 안의 여러 jar 파일 중 하나를 ls + grep(exclude 패턴)으로 "추측"해서 골랐음. 이 방식은 그 디렉토리에 새 jar 파일이 추가될 때마다(OTel agent jar 경로 변경 때 실제로 터졌던 문제) 깨질 수 있는 구조였음. CI(Copy Jar 단계)에서 실행 가능한 jar 하나만 골라 고정된 이름 app.jar로 복사하도록 변경. deploy.sh는 이제 $APP_DIR/app.jar 고정 경로만 참조해서 ls/grep으로 추측하는 과정 자체가 사라짐 — 앞으로 이 디렉토리에 어떤 파일이 추가돼도 배포 스크립트가 헷갈릴 여지가 없음. --- .github/workflows/prod-cd.yml | 6 +++++- scripts/deploy.sh | 5 ++++- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/.github/workflows/prod-cd.yml b/.github/workflows/prod-cd.yml index 17e2209..d1e5075 100644 --- a/.github/workflows/prod-cd.yml +++ b/.github/workflows/prod-cd.yml @@ -60,7 +60,11 @@ jobs: # Jar 파일 복사 - name: Copy Jar - run: cp ./build/libs/*.jar ./deploy + # 실행 가능한 jar 하나만 골라 고정된 이름(app.jar)으로 복사한다. + # deploy.sh가 ls/grep으로 여러 jar 중 하나를 "추측"하지 않고 + # 이 고정 경로만 참조하도록 해서, 나중에 다른 jar 파일이 같은 + # 디렉토리에 추가돼도(예: OTel agent jar) 절대 헷갈리지 않게 한다. + run: cp $(ls ./build/libs/*.jar | grep -v plain) ./deploy/app.jar # appspec.yml 파일 복사 - name: Copy appspec.yml diff --git a/scripts/deploy.sh b/scripts/deploy.sh index 21c0216..bdd3918 100644 --- a/scripts/deploy.sh +++ b/scripts/deploy.sh @@ -3,7 +3,10 @@ set -e APP_DIR=/home/ec2-user/app cd "$APP_DIR" -JAR_PATH=$(ls $APP_DIR/*.jar | grep -v plain | grep -v opentelemetry | head -1) +# CI가 항상 app.jar라는 고정된 이름으로 복사해주므로, 여러 jar 중 +# 하나를 ls/grep으로 추측해서 고를 필요가 없다 (이 디렉토리에 다른 +# jar 파일이 나중에 추가돼도 절대 헷갈리지 않음). +JAR_PATH=$APP_DIR/app.jar echo "> JAR 파일: $JAR_PATH" OTEL_AGENT_JAR=$APP_DIR/grafana-opentelemetry-java.jar