Files
ProductKnowledge/Dockerfile

34 lines
1.2 KiB
Docker
Raw Normal View History

2026-01-30 13:29:16 +01:00
# --- Build Stage ---
2026-01-29 15:55:35 +01:00
FROM maven:3.9-eclipse-temurin-21 AS build
WORKDIR /productdefinitions
2026-01-30 13:29:16 +01:00
# 1. Abhängigkeiten (External Lib) klonen und installieren
2026-01-29 15:55:35 +01:00
RUN git clone -b feature/Produkte --single-branch https://bitbucket.org/omds/omdsservicedefinitions.git /tmp/lib \
2026-01-30 13:29:16 +01:00
&& cd /tmp/lib/OMDSServiceDefinition \
&& mvn clean install -DskipTests
2026-01-29 15:55:35 +01:00
2026-01-30 13:29:16 +01:00
# 2. Projekt-Struktur kopieren
# Zuerst nur die poms, um den Cache besser zu nutzen (optional, aber empfohlen)
COPY pom.xml .
COPY server-app/pom.xml server-app/
# (Andere Modul-poms hier auch kopieren, falls vorhanden)
# 3. Den Rest kopieren
2026-01-29 17:00:15 +01:00
COPY . .
2026-01-29 15:55:35 +01:00
2026-01-30 13:29:16 +01:00
# 4. Bauen: Wir installieren das Root-Projekt und bauen dann gezielt das Modul
RUN mvn clean install -DskipTests -pl server-app -am
2026-01-29 15:55:35 +01:00
2026-01-30 13:29:16 +01:00
# --- Run Stage ---
2026-01-29 15:55:35 +01:00
FROM eclipse-temurin:21-jre-alpine
2026-01-30 13:29:16 +01:00
WORKDIR /app
2026-01-29 15:55:35 +01:00
2026-01-30 13:29:16 +01:00
# Hier liegt der Trick: Wir kopieren gezielt die Datei,
# die NICHT ".original" im Namen hat, oder nutzen einen präzisen Namen.
# Da 'mvn install' im Modul-Ordner das JAR erzeugt:
COPY --from=build /productdefinitions/server-app/target/server-app-*.jar app.jar
2026-01-29 15:55:35 +01:00
2026-01-30 13:29:16 +01:00
# Debug-Schritt: Zeig uns im Log, ob die Datei da ist und wie groß sie ist
2026-01-30 13:51:16 +01:00
RUN ls -lh app.jar
2026-01-30 13:29:16 +01:00
EXPOSE 9080
ENTRYPOINT ["java", "-jar", "app.jar"]