parent
486e3d68e6
commit
9f9d09cc9c
@ -0,0 +1,41 @@
|
||||
FROM alpine:3.17 as BUILD
|
||||
RUN apk add --no-cache binutils maven openjdk17-jdk
|
||||
WORKDIR /build
|
||||
COPY pom.xml .
|
||||
RUN mvn dependency:go-offline
|
||||
COPY src/ /build/src/
|
||||
RUN export BUILD_DIRECTORY="$(mvn help:evaluate -Dexpression='project.build.directory' -q -DforceStdout)" && \
|
||||
export BUILD_NAME="$(mvn help:evaluate -Dexpression='project.build.finalName' -q -DforceStdout)" && \
|
||||
mvn package && \
|
||||
mkdir unpacked && \
|
||||
cd unpacked && \
|
||||
unzip /build/target/${BUILD_NAME}.jar && \
|
||||
cd .. && \
|
||||
mkdir -p /build/unpacked/BOOT-INF/lib && \
|
||||
cp ${BUILD_DIRECTORY}/${BUILD_NAME}.lib/*.jar /build/unpacked/BOOT-INF/lib/ && \
|
||||
jdeps \
|
||||
--ignore-missing-deps \
|
||||
--print-module-deps \
|
||||
-q \
|
||||
--recursive \
|
||||
--multi-release 17 \
|
||||
--class-path="./unpacked/BOOT-INF/lib/*" \
|
||||
--module-path="./unpacked/BOOT-INF/lib/*" \
|
||||
${BUILD_DIRECTORY}/${BUILD_NAME}.jar > ${BUILD_DIRECTORY}/deps.info && \
|
||||
jlink \
|
||||
--verbose \
|
||||
--add-modules $(cat ${BUILD_DIRECTORY}/deps.info) \
|
||||
--strip-debug \
|
||||
--no-man-pages \
|
||||
--no-header-files \
|
||||
--compress=2 \
|
||||
--output ./jre && \
|
||||
echo -e "#!/bin/sh\n" \
|
||||
"/opt/jre/bin/java -jar ${BUILD_NAME}.jar" \
|
||||
> ${BUILD_DIRECTORY}/run.sh && \
|
||||
chmod 700 ${BUILD_DIRECTORY}/run.sh
|
||||
FROM alpine:3.17
|
||||
COPY --from=BUILD /build/target/ /opt/target/
|
||||
COPY --from=BUILD /build/jre /opt/jre
|
||||
WORKDIR /opt/target
|
||||
ENTRYPOINT ["./run.sh"]
|
Loading…
Reference in new issue