fix(ci): 배포 시 jar 경로 자가치유 (컨테이너 stop→경로 정리→배치→재기동)
빈 디렉토리로 잘못 생성된 마운트 경로(corrupt jarfile 원인)까지 rm -rf 로 정리. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -58,7 +58,9 @@ jobs:
|
|||||||
|
|
||||||
$SSH "$DEPLOY_USER@$DEPLOY_HOST" "mkdir -p \"\$(dirname '$DEPLOY_JAR_PATH')\" && cat > '$DEPLOY_JAR_PATH.new'" < "$JAR"
|
$SSH "$DEPLOY_USER@$DEPLOY_HOST" "mkdir -p \"\$(dirname '$DEPLOY_JAR_PATH')\" && cat > '$DEPLOY_JAR_PATH.new'" < "$JAR"
|
||||||
$SSH "$DEPLOY_USER@$DEPLOY_HOST" "\
|
$SSH "$DEPLOY_USER@$DEPLOY_HOST" "\
|
||||||
|
docker compose -f '$COMPOSE_FILE' stop api 2>/dev/null || true; \
|
||||||
|
rm -rf '$DEPLOY_JAR_PATH'; \
|
||||||
mv -f '$DEPLOY_JAR_PATH.new' '$DEPLOY_JAR_PATH'; \
|
mv -f '$DEPLOY_JAR_PATH.new' '$DEPLOY_JAR_PATH'; \
|
||||||
docker compose -f '$COMPOSE_FILE' up -d --force-recreate api; \
|
docker compose -f '$COMPOSE_FILE' up -d --force-recreate api; \
|
||||||
docker compose -f '$COMPOSE_FILE' ps api"
|
sleep 2; docker compose -f '$COMPOSE_FILE' ps api"
|
||||||
echo "✅ 운영(api) 재기동 완료"
|
echo "✅ 운영(api) 재기동 완료"
|
||||||
@@ -63,8 +63,11 @@ jobs:
|
|||||||
|
|
||||||
# jar 전송: scp(SFTP) 경로 이슈 회피 위해 ssh stdin(cat) 사용. 임시파일 후 mv(원자적 교체).
|
# jar 전송: scp(SFTP) 경로 이슈 회피 위해 ssh stdin(cat) 사용. 임시파일 후 mv(원자적 교체).
|
||||||
$SSH "$DEPLOY_USER@$DEPLOY_HOST" "mkdir -p \"\$(dirname '$DEPLOY_JAR_PATH')\" && cat > '$DEPLOY_JAR_PATH.new'" < "$JAR"
|
$SSH "$DEPLOY_USER@$DEPLOY_HOST" "mkdir -p \"\$(dirname '$DEPLOY_JAR_PATH')\" && cat > '$DEPLOY_JAR_PATH.new'" < "$JAR"
|
||||||
|
# 컨테이너 정지(마운트 해제) → 경로 정리(빈 디렉토리로 잘못 생성된 경우 포함) → jar 배치 → 재기동
|
||||||
$SSH "$DEPLOY_USER@$DEPLOY_HOST" "\
|
$SSH "$DEPLOY_USER@$DEPLOY_HOST" "\
|
||||||
|
docker compose -f '$COMPOSE_FILE' stop dev-api 2>/dev/null || true; \
|
||||||
|
rm -rf '$DEPLOY_JAR_PATH'; \
|
||||||
mv -f '$DEPLOY_JAR_PATH.new' '$DEPLOY_JAR_PATH'; \
|
mv -f '$DEPLOY_JAR_PATH.new' '$DEPLOY_JAR_PATH'; \
|
||||||
docker compose -f '$COMPOSE_FILE' up -d --force-recreate dev-api; \
|
docker compose -f '$COMPOSE_FILE' up -d --force-recreate dev-api; \
|
||||||
docker compose -f '$COMPOSE_FILE' ps dev-api"
|
sleep 2; docker compose -f '$COMPOSE_FILE' ps dev-api"
|
||||||
echo "✅ dev-api 재기동 완료"
|
echo "✅ dev-api 재기동 완료"
|
||||||
Reference in New Issue
Block a user