File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 1- # =================
2- # 1. Build Stage: 소스코드를 빌드하여 .jar 파일을 생성하는 단계
3- # =================
4- FROM gradle:8.5.0-jdk17 AS builder
5-
6- # 작업 디렉토리 설정
7- WORKDIR /app
8-
9- # Gradle 관련 파일들을 먼저 복사하여 의존성 캐시를 활용
10- COPY build.gradle settings.gradle gradlew ./
11- COPY gradle ./gradle
12-
13- # 의존성 다운로드 (소스코드 변경 없이 의존성만 변경되었을 때 이 부분만 재실행됨)
14- RUN ./gradlew dependencies
15-
16- # 전체 소스코드 복사
17- COPY src ./src
18-
19- # Gradle 빌드 실행 (테스트는 제외)
20- RUN ./gradlew clean build -x test
21-
22-
23- # =================
24- # 2. Final Image Stage: 실제 실행될 최종 이미지를 만드는 단계
25- # =================
261FROM openjdk:17-jdk-slim
27-
28- # 작업 디렉토리 설정
29- WORKDIR /app
30-
31- # Build Stage에서 생성된 .jar 파일을 최종 이미지로 복사
32- COPY --from=builder /app/build/libs/*.jar app.jar
33-
34- # 애플리케이션 실행
2+ ARG JAR_FILE=build/libs/*.jar
3+ COPY ${JAR_FILE} app.jar
354ENTRYPOINT ["java" ,"-jar" ,"/app.jar" ]
You can’t perform that action at this time.
0 commit comments