-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathDockerfile
More file actions
24 lines (18 loc) · 767 Bytes
/
Dockerfile
File metadata and controls
24 lines (18 loc) · 767 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
FROM gradle:latest AS build
WORKDIR /home/gradle/src
# Copy build files first for dependency caching
COPY --chown=gradle:gradle build.gradle.kts settings.gradle.kts gradle.properties ./
COPY --chown=gradle:gradle gradle ./gradle
COPY --chown=gradle:gradle server/build.gradle.kts ./server/
# Download dependencies (this layer will be cached)
RUN gradle :server:dependencies --no-daemon
# Copy source code
COPY --chown=gradle:gradle server/src ./server/src
# Build the application
RUN gradle :server:buildFatJar --no-daemon
# Stage 2: Create the Runtime Image
FROM amazoncorretto:24-jdk AS runtime
EXPOSE 8080
RUN mkdir /app
COPY --from=build /home/gradle/src/server/build/libs/*.jar /app/bookmarkmanager.jar
ENTRYPOINT ["java","-jar","/app/bookmarkmanager.jar"]