File tree Expand file tree Collapse file tree 1 file changed +23
-7
lines changed
Expand file tree Collapse file tree 1 file changed +23
-7
lines changed Original file line number Diff line number Diff line change 1- FROM eclipse-temurin:21-jdk
1+ # ===== 1단계: 빌드 스테이지 =====
2+ FROM gradle:8.5-jdk21 AS build
23
34WORKDIR /app
45
5- ARG JAR_FILE=build/libs/backend-0.0.1-SNAPSHOT.jar
6+ # 의존성 캐싱을 위해 필요한 파일들 먼저 복사
7+ COPY gradlew .
8+ COPY gradle gradle
9+ COPY build.gradle .
10+ COPY settings.gradle .
11+
12+ # (선택) 의존성만 먼저 다운받아서 캐시 최적화
13+ RUN ./gradlew dependencies --no-daemon || true
14+
15+ # 나머지 전체 복사
16+ COPY src src
17+
18+ # 빌드 실행
19+ RUN ./gradlew build -x test --no-daemon
620
7- # jar 파일 복제
8- COPY ${JAR_FILE} app.jar
21+ # ===== 2단계: 런타임 스테이지 =====
22+ FROM eclipse-temurin:21-jdk
23+
24+ WORKDIR /app
925
10- # 인자 설정 부분과 jar 파일 복제 부분 합쳐서 진행해도 무방
11- # COPY build/libs/*.jar app.jar
26+ # 빌드 스테이지에서 생성된 JAR 복사
27+ COPY --from=build /app/ build/libs/*.jar app.jar
1228
13- # 실행 명령어
29+ # 실행
1430ENTRYPOINT ["java" , "-Dspring.profiles.active=prod" , "-jar" , "app.jar" ]
You can’t perform that action at this time.
0 commit comments