From 8a6cb277b5c64bb49a3d06ccd56f1eddf37fc44f Mon Sep 17 00:00:00 2001 From: pricelees Date: Sat, 4 Oct 2025 17:43:43 +0900 Subject: [PATCH] =?UTF-8?q?refactor:=20=EB=B0=B1=EC=97=94=EB=93=9C=20/=20?= =?UTF-8?q?=ED=94=84=EB=A1=A0=ED=8A=B8=EC=97=94=EB=93=9C=20=EC=95=A0?= =?UTF-8?q?=ED=94=8C=EB=A6=AC=EC=BC=80=EC=9D=B4=EC=85=98=20Dockerfile=20?= =?UTF-8?q?=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Dockerfile | 25 ++++++++++++++++++++++--- frontend/.dockerignore | 18 +++++++++++++++--- frontend/Dockerfile | 15 +++++++-------- 3 files changed, 44 insertions(+), 14 deletions(-) diff --git a/Dockerfile b/Dockerfile index 87d42727..3e9dc9dc 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,10 +1,29 @@ -FROM gradle:8-jdk17 AS builder +FROM gradle:8-jdk17 AS dependencies WORKDIR /app + +COPY gradlew settings.gradle build.gradle.kts /app/ +COPY gradle /app/gradle +COPY service/build.gradle.kts /app/service/ +COPY tosspay-mock/build.gradle.kts /app/tosspay-mock/ +COPY common/log/build.gradle.kts /app/common/log/ +COPY common/persistence/build.gradle.kts /app/common/persistence/ +COPY common/types/build.gradle.kts /app/common/types/ +COPY common/utils/build.gradle.kts /app/common/utils/ +COPY common/web/build.gradle.kts /app/common/web/ + +RUN ./gradlew dependencies --no-daemon + +FROM dependencies AS builder +WORKDIR /app + COPY . . -RUN ./gradlew bootjar --no-daemon + +RUN ./gradlew :service:bootjar --no-daemon FROM amazoncorretto:17 WORKDIR /app EXPOSE 8080 -COPY --from=builder /app/build/libs/*.jar app.jar + +COPY --from=builder /app/service/build/libs/*.jar app.jar + ENTRYPOINT ["java", "-jar", "app.jar"] \ No newline at end of file diff --git a/frontend/.dockerignore b/frontend/.dockerignore index 3dd9fe5b..0fde024d 100644 --- a/frontend/.dockerignore +++ b/frontend/.dockerignore @@ -1,6 +1,18 @@ -node_modules .git -.DS_Store +.gitignore + +# Node.js +node_modules npm-debug.log + +# Build output +build dist -build \ No newline at end of file + +# Editor/OS specific +.vscode +.idea +.DS_Store + +# Environment variables +.env* \ No newline at end of file diff --git a/frontend/Dockerfile b/frontend/Dockerfile index cfc4d6d9..8afa50dd 100644 --- a/frontend/Dockerfile +++ b/frontend/Dockerfile @@ -1,18 +1,17 @@ -# Stage 1: Build the React app -FROM node:24 AS builder +FROM node:24-alpine AS builder WORKDIR /app -COPY package.json ./ -COPY package-lock.json ./ -RUN npm install --frozen-lockfile +COPY package.json package-lock.json ./ + +RUN npm ci COPY . . RUN npm run build +FROM nginx:1.27-alpine -# Stage 2: Serve with Nginx -FROM nginx:latest COPY --from=builder /app/dist /usr/share/nginx/html COPY nginx.conf /etc/nginx/conf.d/default.conf + EXPOSE 80 -CMD ["nginx", "-g", "daemon off;"] +CMD ["nginx", "-g", "daemon off;"] \ No newline at end of file