Skip to content

Commit 153e94e

Browse files
authored
fix: Dockerfile의 Gradle 빌드 파일 확장자 .kts로 수정 (#21)
* [BOOK-88] refactor: 빌드 스크립트 리팩터링 * [BOOK-88] feat: prod, dev 용 Dockerfile 구현 * [BOOK-88] refactor: 코드리뷰 반영 * [BOOK-88] refactor: 도커 스테이지 최적화 * [BOOK-88] refactor: 변경된 도커파일에 맞게 스크립트 변경 * [BOOK-88] fix: 확장자에 맞게 도커파일 수정 * [BOOK-88] fix: 확장자에 맞게 도커파일 수정 * [BOOK-88] refactor: Wrapper 스크립트와 gradle/wrapper 디렉터리를 함께 복사하도록 변경 * [BOOK-88] chore: 주석 수정
1 parent d2ebb29 commit 153e94e

File tree

2 files changed

+22
-14
lines changed

2 files changed

+22
-14
lines changed

Dockerfile

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -4,17 +4,21 @@ ARG MODULE=apis
44
WORKDIR /app
55

66
# 의존성 캐싱 최적화를 위한 단계별 복사
7-
# 1. 의존성 관련 파일만 먼저 복사
8-
COPY build.gradle settings.gradle ./
9-
COPY ${MODULE}/build.gradle ./${MODULE}/
7+
# 1. Gradle Wrapper와 의존성 관련 파일만 먼저 복사
8+
COPY build.gradle.kts settings.gradle.kts gradlew gradlew.bat ./
9+
COPY gradle/wrapper/ ./gradle/wrapper/
10+
COPY ${MODULE}/build.gradle.kts ./${MODULE}/
1011

11-
# 2. 소스코드 없이 의존성만 다운로드
12+
# 2. Gradle Wrapper 실행 권한 부여
13+
RUN chmod +x gradlew
14+
15+
# 3. 소스코드 없이 의존성만 다운로드
1216
RUN ./gradlew :${MODULE}:dependencies --no-daemon
1317

14-
# 3. 소스코드 전체 복사
18+
# 4. 소스코드 전체 복사
1519
COPY . .
1620

17-
# 4. 실제 애플리케이션 빌드
21+
# 5. 실제 애플리케이션 빌드
1822
RUN ./gradlew :${MODULE}:bootJar --parallel --no-daemon
1923

2024
# Run stage

Dockerfile-dev

Lines changed: 12 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -4,17 +4,21 @@ ARG MODULE=apis
44
WORKDIR /app
55

66
# 의존성 캐싱 최적화를 위한 단계별 복사
7-
# 1. 의존성 관련 파일만 먼저 복사
8-
COPY build.gradle settings.gradle ./
9-
COPY ${MODULE}/build.gradle ./${MODULE}/
7+
# 1. Gradle Wrapper와 의존성 관련 파일만 먼저 복사
8+
COPY build.gradle.kts settings.gradle.kts gradlew gradlew.bat ./
9+
COPY gradle/wrapper/ ./gradle/wrapper/
10+
COPY ${MODULE}/build.gradle.kts ./${MODULE}/
1011

11-
# 2. 소스코드 없이 의존성만 다운로드
12+
# 2. Gradle Wrapper 실행 권한 부여
13+
RUN chmod +x gradlew
14+
15+
# 3. 소스코드 없이 의존성만 다운로드
1216
RUN ./gradlew :${MODULE}:dependencies --no-daemon
1317

14-
# 3. 소스코드 전체 복사
18+
# 4. 소스코드 전체 복사
1519
COPY . .
1620

17-
# 4. 실제 애플리케이션 빌드
21+
# 5. 실제 애플리케이션 빌드
1822
RUN ./gradlew :${MODULE}:bootJar --parallel --no-daemon
1923

2024
# Run stage
@@ -29,6 +33,6 @@ COPY --from=build /app/${MODULE}/build/libs/${MODULE}-*.jar app.jar
2933
COPY --from=build /app/secret ./secret/
3034

3135
# JVM 실행 설정
32-
# Xms512m: 초기 힙 메모리 512MB
33-
# Xmx1g: 최대 힙 메모리 1GB
36+
# - Xms512m: 초기 힙 메모리 512MB
37+
# - Xmx1g: 최대 힙 메모리 1GB
3438
ENTRYPOINT ["java", "-Xms512m", "-Xmx1g", "-jar", "app.jar"]

0 commit comments

Comments
 (0)