Files
cloud-pe-test/Dockerfile
demo-bot 9bd84c82ee
Some checks failed
Integration Test / Platform Conformance (pull_request) Successful in 4s
SonarQube Analysis / Build, Test & Analyse (pull_request) Failing after 32s
Integration Test / Unit Tests + Container Smoke (workflow_dispatch) Some checks failed
Integration Test / Unit Tests + Container Smoke (pull_request) Failing after 4m33s
Update Dockerfile
2026-05-28 14:50:01 +00:00

32 lines
882 B
Docker

# Multi-stage Dockerfile for Spring Boot Application
# TESTING NOTE
FROM maven:3.9-eclipse-temurin-17 AS build
WORKDIR /app
# Copy dependency files first for better caching
COPY pom.xml .
RUN mvn dependency:go-offline -B
# Copy source code and build
COPY src ./src
RUN mvn clean package -DskipTests
# Runtime stage - lean JRE for Spring Boot executable JAR (~200MB vs ~500MB Tomcat)
FROM mcr.microsoft.com/openjdk/jdk:17-ubuntu
WORKDIR /app
# Create non-root user for security
RUN groupadd -g 1001 appuser && useradd -u 1001 -g appuser -s /bin/sh appuser && \
chown -R appuser:appuser /app
USER appuser
COPY --from=build /app/target/*.jar app.jar
EXPOSE 8080
# Health check
HEALTHCHECK --interval=30s --timeout=3s --start-period=30s --retries=3 \
CMD wget --no-verbose --tries=1 --spider http://localhost:8080/actuator/health || exit 1
CMD ["java", "-jar", "app.jar"]