Gitea Actions doesn't support upload/download-artifact v4. Reverted to two-job approach (git clone + docker build). Added BuildKit cache mount (--mount=type=cache,target=/root/.m2) to Dockerfile so Maven deps persist across Docker builds on the same runner. First build downloads, subsequent builds are cached. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
17 lines
525 B
Docker
17 lines
525 B
Docker
# syntax=docker/dockerfile:1
|
|
FROM eclipse-temurin:21-jdk-alpine AS build
|
|
WORKDIR /build
|
|
COPY .mvn/ .mvn/
|
|
COPY mvnw pom.xml ./
|
|
RUN --mount=type=cache,target=/root/.m2/repository ./mvnw dependency:go-offline -B
|
|
COPY src/ src/
|
|
RUN --mount=type=cache,target=/root/.m2/repository ./mvnw package -DskipTests -B
|
|
|
|
FROM eclipse-temurin:21-jre-alpine
|
|
WORKDIR /app
|
|
RUN addgroup -S cameleer && adduser -S cameleer -G cameleer
|
|
COPY --from=build /build/target/*.jar app.jar
|
|
USER cameleer
|
|
EXPOSE 8080
|
|
ENTRYPOINT ["java", "-jar", "app.jar"]
|