This repository has been archived on 2025-02-19. You can view files and clone it, but cannot push or open issues or pull requests.
casino/backend/.docker/Dockerfile

32 lines
745 B
Docker

# First stage: Build the application
FROM gradle:jdk22 AS builder
WORKDIR /app
# Copy only Gradle wrapper and configuration files first (for caching efficiency)
COPY gradlew build.gradle.kts settings.gradle.kts ./
COPY gradle gradle
# Give execute permissions to Gradle wrapper
RUN chmod +x gradlew
# Download dependencies first (improves caching)
RUN ./gradlew dependencies
# Copy the rest of the project files
COPY src src
# Build the application (skipping tests for faster build)
RUN ./gradlew clean build -x test
# Second stage: Run the application
FROM openjdk:22-jdk-slim
WORKDIR /app
# Copy the built JAR from the first stage
COPY --from=builder /app/build/libs/*.jar app.jar
EXPOSE 8080
ENTRYPOINT ["java", "-jar", "app.jar"]