diff --git a/.woodpecker/lint.yaml b/.woodpecker/lint.yaml index 74bb114..b29ef35 100644 --- a/.woodpecker/lint.yaml +++ b/.woodpecker/lint.yaml @@ -19,3 +19,8 @@ steps: image: kokuwaio/markdownlint depends_on: [] when: [path: [.woodpecker/lint.yaml, .markdownlint.yaml, "**/*.md"]] + + dockerfile: + image: kokuwaio/hadolint + depends_on: [] + when: [path: [.woodpecker/lint.yaml, "**/Dockerfile"]] diff --git a/.woodpecker/test.yaml b/.woodpecker/test.yaml index 6105f71..55e4832 100644 --- a/.woodpecker/test.yaml +++ b/.woodpecker/test.yaml @@ -1,18 +1,14 @@ when: event: [manual, pull_request] - path: [.woodpecker/verify.yaml, pom.xml, src/main/**] + path: [.woodpecker/verify.yaml, pom.xml, src/**] matrix: KEYCLOAK_VERSION: -# - 22.0.5 -# - 23.0.7 -# - 24.0.5 -# - 25.0.6 -# - 26.2.5 - - $version.org.keycloak - - $$version.org.keycloak - - \$version.org.keycloak - - \$$version.org.keycloak + - 22.0.5 + - 23.0.7 + - 24.0.5 + - 25.0.6 + - 26.2.5 services: - name: dockerd @@ -21,9 +17,6 @@ services: ports: [2375, 8080] steps: - veraify: - image: maven:3.9.9-eclipse-temurin-17 - commands: echo $KEYCLOAK_VERSION test: image: maven:3.9.9-eclipse-temurin-17 commands: mvn test -Dversion.org.keycloak.test="$KEYCLOAK_VERSION" --batch-mode --color=always --no-transfer-progress --settings=.woodpecker/maven/settings.xml \ No newline at end of file diff --git a/Dockerfile b/Dockerfile index 2a6207f..773f7e5 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,31 +1,14 @@ -FROM docker.io/library/maven:3.9.9-eclipse-temurin-17 AS mvn -WORKDIR /app -ARG MAVEN_ARGS="--batch-mode --color=always --no-transfer-progress -DskipTests -P=-dev" +FROM maven:3.9.9-eclipse-temurin-17 AS build +WORKDIR /build ARG MAVEN_MIRROR_CENTRAL=https://mirror.grayc.io/maven2 RUN mkdir "$HOME/.m2" && printf "\n\ \n\ /tmp/mvn-repo\n\ - \n\ - \n\ - %s\n\ - central\n\ - \n\ - \n\ -" "$MAVEN_MIRROR_CENTRAL" > "$HOME/.m2/settings.xml" && cat "$HOME/.m2/settings.xml" -COPY pom.xml lombok.config ./ -COPY api/pom.xml api/pom.xml -COPY service/pom.xml service/pom.xml -RUN mvn install -N -COPY .git / -COPY api/ api/ -RUN mvn install -pl api -COPY service/ service/ -RUN mvn install -pl service + %scentral\n\ +" "$MAVEN_MIRROR_CENTRAL" > "$HOME/.m2/settings.xml" +COPY pom.xml /build/ +COPY src/main /build/src/main/ +RUN --mount=type=cache,target=/tmp/mvn-repo mvn package --no-transfer-progress -DskipTests -P=-dev -FROM docker.io/library/eclipse-temurin:21.0.7_6-jre@sha256:031eb6ccad828004407c0a41f6a4009a08289961d55e9119287c28756522a945 -COPY service/target/libs /app/libs -COPY service/target/minoa-service-*.jar /app/minoa.jar -COPY api/openapi.yaml /static/openapi.yaml -COPY --from=app /app/dist /static -COPY --from=mkdocs-user-manual /mkdocs/site /static/docs -ENTRYPOINT ["java", "-XX:+ExitOnOutOfMemoryError", "-jar", "/app/minoa.jar"] +FROM busybox:1.37.0-uclibc@sha256:cc57e0ff4b6d3138931ff5c7180d18078813300e2508a25fb767a4d36df30d4d +COPY --from=build --chmod=444 /build/target/keycloak-event-metrics.jar /opt/keycloak/keycloak-event-metrics.jar diff --git a/pom.xml b/pom.xml index e117705..9c90069 100644 --- a/pom.xml +++ b/pom.xml @@ -204,6 +204,7 @@ + ${project.artifactId} ${project.basedir}/src/test/resources