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+ # =================
126FROM openjdk:17-jdk-slim
2- ARG JAR_FILE=build/libs/*.jar
3- COPY ${JAR_FILE} app.jar
27+
28+ # 작업 디렉토리 설정
29+ WORKDIR /app
30+
31+ # Build Stage에서 생성된 .jar 파일을 최종 이미지로 복사
32+ COPY --from=builder /app/build/libs/*.jar app.jar
33+
34+ # 애플리케이션 실행
435ENTRYPOINT ["java" ,"-jar" ,"/app.jar" ]
You can’t perform that action at this time.
0 commit comments