From ad328509b194a124bbd4398ed61345f7be7f02a3 Mon Sep 17 00:00:00 2001 From: JaeSeo Yang <96044622+psychology50@users.noreply.github.com> Date: Sat, 12 Oct 2024 16:24:37 +0900 Subject: [PATCH 1/3] =?UTF-8?q?feat:=20=EA=B0=81=20=EB=AA=A8=EB=93=88?= =?UTF-8?q?=EB=B3=84=20docker=ED=8C=8C=EC=9D=BC=20=EB=B6=84=EB=A6=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Dockerfile | 48 ++++++++++++++++++++++++++++ pennyway-app-external-api/Dockerfile | 34 ++++++++++++++++++++ pennyway-common/Dockerfile | 6 ++++ pennyway-domain/Dockerfile | 6 ++++ pennyway-infra/Dockerfile | 6 ++++ 5 files changed, 100 insertions(+) create mode 100644 Dockerfile create mode 100644 pennyway-common/Dockerfile create mode 100644 pennyway-domain/Dockerfile create mode 100644 pennyway-infra/Dockerfile diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 000000000..672d77a6b --- /dev/null +++ b/Dockerfile @@ -0,0 +1,48 @@ +# Common 모듈 빌드 +FROM openjdk:17 AS common-builder +WORKDIR /app + +COPY gradlew . +COPY gradle gradle +COPY build.gradle . +COPY settings.gradle . +COPY pennyway-common pennyway-common +RUN chmod +x ./gradlew + + +COPY pennyway-common pennyway-common +COPY build.gradle settings.gradle gradlew ./ +COPY gradle gradle +RUN ./gradlew :pennyway-common:build -x test + +# Infra 모듈 빌드 +FROM openjdk:17 AS infra-builder +WORKDIR /app +COPY --from=common-builder /app/pennyway-common/build/libs/*.jar lib/ +COPY pennyway-infra pennyway-infra +COPY build.gradle settings.gradle gradlew ./ +COPY gradle gradle +RUN ./gradlew :pennyway-infra:build -x test + +# Domain 모듈 빌드 +FROM openjdk:17 AS domain-builder +WORKDIR /app +COPY --from=common-builder /app/pennyway-common/build/libs/*.jar lib/ +COPY --from=infra-builder /app/pennyway-infra/build/libs/*.jar lib/ +COPY pennyway-domain pennyway-domain +COPY build.gradle settings.gradle gradlew ./ +COPY gradle gradle +RUN ./gradlew :pennyway-domain:build -x test + +# 최종 실행 이미지 +FROM openjdk:17 + +WORKDIR /app + +# 빌드된 JAR 파일 복사 +COPY --from=common-builder /app/pennyway-common/build/libs/*.jar common.jar +COPY --from=infra-builder /app/pennyway-infra/build/libs/*.jar infra.jar +COPY --from=domain-builder /app/pennyway-domain/build/libs/*.jar domain.jar + +# 클래스패스 설정 +ENV CLASSPATH=/app/common.jar:/app/infra.jar:/app/domain.jar \ No newline at end of file diff --git a/pennyway-app-external-api/Dockerfile b/pennyway-app-external-api/Dockerfile index c9bf20fb6..a318a29d5 100644 --- a/pennyway-app-external-api/Dockerfile +++ b/pennyway-app-external-api/Dockerfile @@ -1,3 +1,37 @@ +## Stage 1: Build common module +#FROM openjdk:17 AS common-builder +#WORKDIR /app +#COPY pennyway-common ./pennyway-common +#COPY build.gradle settings.gradle ./ +#RUN ./gradlew :pennyway-common:build +# +## Stage 2: Build infra module +#FROM common-builder AS infra-builder +#COPY pennyway-infra ./pennyway-infra +#RUN ./gradlew :pennyway-infra:build +# +## Stage 3: Build domain module +#FROM infra-builder AS domain-builder +#COPY pennyway-domain ./pennyway-domain +#RUN ./gradlew :pennyway-domain:build +# +## Stage 4: Build and package the application (e.g., external-api) +#FROM domain-builder AS app-builder +#ARG APP_MODULE=pennyway-app-external-api +#COPY ${APP_MODULE} ./${APP_MODULE} +#RUN ./gradlew :${APP_MODULE}:build +# +## Final stage: Setup the runtime environment +#FROM openjdk:17-slim +#WORKDIR /app +#ARG APP_MODULE=pennyway-app-external-api +#COPY --from=app-builder /app/${APP_MODULE}/build/libs/*.jar ./app.jar +# +#ARG PROFILE=dev +#ENV PROFILE=${PROFILE} +# +#ENTRYPOINT ["java", "-cp", "${CLASSPATH}:/app/app.jar", "kr.co.pennyway.PennywayExternalApiApplication","/app.jar","--spring.profiles.active=${PROFILE}","-Djava.security.egd=file:/dev/./urandom","-Duser.timezone=Asia/Seoul"] + FROM openjdk:17 ARG JAR_FILE=./build/libs/*.jar COPY ${JAR_FILE} app.jar diff --git a/pennyway-common/Dockerfile b/pennyway-common/Dockerfile new file mode 100644 index 000000000..19be72911 --- /dev/null +++ b/pennyway-common/Dockerfile @@ -0,0 +1,6 @@ +FROM openjdk:17 + +WORKDIR /app +COPY build/libs/*.jar common.jar + +CMD ["java", "-jar", "common.jar"] \ No newline at end of file diff --git a/pennyway-domain/Dockerfile b/pennyway-domain/Dockerfile new file mode 100644 index 000000000..1f257ecd5 --- /dev/null +++ b/pennyway-domain/Dockerfile @@ -0,0 +1,6 @@ +FROM openjdk:17 + +WORKDIR /app +COPY build/libs/*.jar domain.jar + +CMD ["java", "-jar", "domain.jar"] \ No newline at end of file diff --git a/pennyway-infra/Dockerfile b/pennyway-infra/Dockerfile new file mode 100644 index 000000000..0d009f488 --- /dev/null +++ b/pennyway-infra/Dockerfile @@ -0,0 +1,6 @@ +FROM openjdk:17 + +WORKDIR /app +COPY build/libs/*.jar infra.jar + +CMD ["java", "-jar", "infra.jar"] \ No newline at end of file From 4fc7f6055c64e9107f87cb67d1666d8c78bc814e Mon Sep 17 00:00:00 2001 From: JaeSeo Yang <96044622+psychology50@users.noreply.github.com> Date: Mon, 14 Oct 2024 13:56:13 +0900 Subject: [PATCH 2/3] =?UTF-8?q?feat:=20=EB=B6=88=ED=95=84=EC=9A=94?= =?UTF-8?q?=ED=95=9C=20dockerfile=20=EC=A0=95=EB=A6=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pennyway-app-external-api/Dockerfile | 34 ---------------------------- pennyway-common/Dockerfile | 6 ----- pennyway-domain/Dockerfile | 6 ----- pennyway-infra/Dockerfile | 6 ----- 4 files changed, 52 deletions(-) delete mode 100644 pennyway-common/Dockerfile delete mode 100644 pennyway-domain/Dockerfile delete mode 100644 pennyway-infra/Dockerfile diff --git a/pennyway-app-external-api/Dockerfile b/pennyway-app-external-api/Dockerfile index a318a29d5..c9bf20fb6 100644 --- a/pennyway-app-external-api/Dockerfile +++ b/pennyway-app-external-api/Dockerfile @@ -1,37 +1,3 @@ -## Stage 1: Build common module -#FROM openjdk:17 AS common-builder -#WORKDIR /app -#COPY pennyway-common ./pennyway-common -#COPY build.gradle settings.gradle ./ -#RUN ./gradlew :pennyway-common:build -# -## Stage 2: Build infra module -#FROM common-builder AS infra-builder -#COPY pennyway-infra ./pennyway-infra -#RUN ./gradlew :pennyway-infra:build -# -## Stage 3: Build domain module -#FROM infra-builder AS domain-builder -#COPY pennyway-domain ./pennyway-domain -#RUN ./gradlew :pennyway-domain:build -# -## Stage 4: Build and package the application (e.g., external-api) -#FROM domain-builder AS app-builder -#ARG APP_MODULE=pennyway-app-external-api -#COPY ${APP_MODULE} ./${APP_MODULE} -#RUN ./gradlew :${APP_MODULE}:build -# -## Final stage: Setup the runtime environment -#FROM openjdk:17-slim -#WORKDIR /app -#ARG APP_MODULE=pennyway-app-external-api -#COPY --from=app-builder /app/${APP_MODULE}/build/libs/*.jar ./app.jar -# -#ARG PROFILE=dev -#ENV PROFILE=${PROFILE} -# -#ENTRYPOINT ["java", "-cp", "${CLASSPATH}:/app/app.jar", "kr.co.pennyway.PennywayExternalApiApplication","/app.jar","--spring.profiles.active=${PROFILE}","-Djava.security.egd=file:/dev/./urandom","-Duser.timezone=Asia/Seoul"] - FROM openjdk:17 ARG JAR_FILE=./build/libs/*.jar COPY ${JAR_FILE} app.jar diff --git a/pennyway-common/Dockerfile b/pennyway-common/Dockerfile deleted file mode 100644 index 19be72911..000000000 --- a/pennyway-common/Dockerfile +++ /dev/null @@ -1,6 +0,0 @@ -FROM openjdk:17 - -WORKDIR /app -COPY build/libs/*.jar common.jar - -CMD ["java", "-jar", "common.jar"] \ No newline at end of file diff --git a/pennyway-domain/Dockerfile b/pennyway-domain/Dockerfile deleted file mode 100644 index 1f257ecd5..000000000 --- a/pennyway-domain/Dockerfile +++ /dev/null @@ -1,6 +0,0 @@ -FROM openjdk:17 - -WORKDIR /app -COPY build/libs/*.jar domain.jar - -CMD ["java", "-jar", "domain.jar"] \ No newline at end of file diff --git a/pennyway-infra/Dockerfile b/pennyway-infra/Dockerfile deleted file mode 100644 index 0d009f488..000000000 --- a/pennyway-infra/Dockerfile +++ /dev/null @@ -1,6 +0,0 @@ -FROM openjdk:17 - -WORKDIR /app -COPY build/libs/*.jar infra.jar - -CMD ["java", "-jar", "infra.jar"] \ No newline at end of file From 4b85576a604c6023e750d431465022518a435768 Mon Sep 17 00:00:00 2001 From: JaeSeo Yang <96044622+psychology50@users.noreply.github.com> Date: Mon, 14 Oct 2024 13:57:17 +0900 Subject: [PATCH 3/3] =?UTF-8?q?fix:=20pended=5Fchat=5Froom=20ttl=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 --- .../pennyway/domain/common/redis/chatroom/PendedChatRoom.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pennyway-domain/src/main/java/kr/co/pennyway/domain/common/redis/chatroom/PendedChatRoom.java b/pennyway-domain/src/main/java/kr/co/pennyway/domain/common/redis/chatroom/PendedChatRoom.java index d248969b3..fdcbb09df 100644 --- a/pennyway-domain/src/main/java/kr/co/pennyway/domain/common/redis/chatroom/PendedChatRoom.java +++ b/pennyway-domain/src/main/java/kr/co/pennyway/domain/common/redis/chatroom/PendedChatRoom.java @@ -9,7 +9,7 @@ import java.util.Objects; @Getter -@RedisHash(value = "pendedChatRoom", timeToLive = 5) +@RedisHash(value = "pendedChatRoom", timeToLive = 5 * 60) public class PendedChatRoom { @Id private final Long userId;