From 071c5dbe4705cba089619ce68105fded641af3b9 Mon Sep 17 00:00:00 2001 From: robinjoon Date: Thu, 19 Mar 2026 00:03:41 +0900 Subject: [PATCH] =?UTF-8?q?fix:=20VITE=5FGRAPHQL=5FENDPOINT=EB=A5=BC=20?= =?UTF-8?q?=EB=9F=B0=ED=83=80=EC=9E=84=20=ED=99=98=EA=B2=BD=EB=B3=80?= =?UTF-8?q?=EC=88=98=EB=A1=9C=20=EB=B3=80=EA=B2=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Vite 환경변수는 빌드 타임에 인라인되어 Docker build-arg로만 주입 가능했다. GitHub Secret 값이 잘못 설정되면 API 요청이 프론트엔드 서버로 향하는 문제가 있었다. 빌드 시 플레이스홀더를 삽입하고 컨테이너 시작 시 sed로 런타임 env 값으로 치환하도록 변경하여, Helm values의 env만으로 엔드포인트를 관리할 수 있게 한다. Co-Authored-By: Claude Opus 4.6 (1M context) --- .github/workflows/deploy-prod.yml | 2 -- Dockerfile | 5 ++--- 2 files changed, 2 insertions(+), 5 deletions(-) diff --git a/.github/workflows/deploy-prod.yml b/.github/workflows/deploy-prod.yml index 146b026..10d594d 100644 --- a/.github/workflows/deploy-prod.yml +++ b/.github/workflows/deploy-prod.yml @@ -69,8 +69,6 @@ jobs: tags: | ${{ env.HARBOR_REGISTRY }}/${{ env.IMAGE_NAME }}:${{ steps.meta.outputs.tag }} ${{ env.HARBOR_REGISTRY }}/${{ env.IMAGE_NAME }}:latest - build-args: | - VITE_GRAPHQL_ENDPOINT=${{ secrets.VITE_GRAPHQL_ENDPOINT }} update-helm: runs-on: [self-hosted, macOS, ARM64] diff --git a/Dockerfile b/Dockerfile index 029fd17..67c6074 100644 --- a/Dockerfile +++ b/Dockerfile @@ -9,8 +9,7 @@ COPY package.json ./ RUN npm install --omit=dev FROM node:20-alpine AS build-env -ARG VITE_GRAPHQL_ENDPOINT -ENV VITE_GRAPHQL_ENDPOINT=$VITE_GRAPHQL_ENDPOINT +ENV VITE_GRAPHQL_ENDPOINT=__GRAPHQL_ENDPOINT_PLACEHOLDER__ COPY . /app/ COPY --from=development-dependencies-env /app/node_modules /app/node_modules WORKDIR /app @@ -22,4 +21,4 @@ COPY package.json ./ COPY --from=production-dependencies-env /app/node_modules /app/node_modules COPY --from=build-env /app/build /app/build EXPOSE 3000 -CMD ["npx", "-y", "serve", "-s", "build/client", "-l", "3000"] \ No newline at end of file +CMD sh -c "find /app/build/client -name '*.js' -exec sed -i \"s|__GRAPHQL_ENDPOINT_PLACEHOLDER__|$VITE_GRAPHQL_ENDPOINT|g\" {} + && npx -y serve -s build/client -l 3000" \ No newline at end of file