diff --git a/.github/workflows/build-test-and-push.yaml b/.github/workflows/build-test-and-push.yaml index 58d6124..83dd6f7 100644 --- a/.github/workflows/build-test-and-push.yaml +++ b/.github/workflows/build-test-and-push.yaml @@ -21,11 +21,15 @@ jobs: strategy: matrix: include: - - language: java + - dockerfilePath: java/jre version: "25" - image: 25-java + image: 25-java-jre - - language: node + - dockerfilePath: java/jdk + version: "25" + image: 25-java-jdk + + - dockerfilePath: node version: "22" image: 22-node @@ -37,19 +41,20 @@ jobs: uses: hadolint/hadolint-action@v3.1.0 with: config: .hadolint.yaml - dockerfile: "./${{ matrix.language }}/Dockerfile" + dockerfile: "./${{ matrix.dockerfilePath }}/Dockerfile" + recursive: 'true' - name: Build base image uses: docker/build-push-action@v6 with: - context: ./${{ matrix.language }} + context: ./${{ matrix.dockerfilePath }} push: false tags: ${{ matrix.image }}-test:latest - name: Build test image uses: docker/build-push-action@v6 with: - context: ./${{ matrix.language }}/test + context: ./${{ matrix.dockerfilePath }}/test push: false tags: base-image-test:${{ matrix.image }}-test @@ -67,11 +72,15 @@ jobs: strategy: matrix: include: - - language: java + - dockerfilePath: jre/java + version: "25" + image: 25-java-jre + + - dockerfilePath: jdk/java version: "25" - image: 25-java + image: 25-java-jdk - - language: node + - dockerfilePath: node version: "22" image: 22-node @@ -112,7 +121,7 @@ jobs: - name: Build and push Docker image uses: docker/build-push-action@v6 with: - context: ./${{ matrix.language }} + context: ./${{ matrix.dockerfilePath }} push: true platforms: linux/amd64,linux/arm64 tags: ${{ steps.meta.outputs.tags }} diff --git a/java/jdk/Dockerfile b/java/jdk/Dockerfile new file mode 100644 index 0000000..0c89fb7 --- /dev/null +++ b/java/jdk/Dockerfile @@ -0,0 +1,17 @@ +# ============================================================ +# HSL InfoDevOps Base Image for Java Microservices (Java Development Kit) +# Built for AKS — optimized, secure, slim +# ============================================================ + +FROM eclipse-temurin:25-jdk-jammy + +WORKDIR /app + +ENV JAVA_TOOL_OPTIONS="-XX:+UseContainerSupport -XX:MaxRAMPercentage=75" + +RUN apt-get update \ + && apt-get install -y --no-install-recommends \ + curl \ + && rm -rf /var/lib/apt/lists/* + +CMD ["java", "-version"] diff --git a/java/jdk/test/Dockerfile b/java/jdk/test/Dockerfile new file mode 100644 index 0000000..13af463 --- /dev/null +++ b/java/jdk/test/Dockerfile @@ -0,0 +1,3 @@ +FROM 25-java-jdk-test:latest + +CMD ["echo", "hello"] \ No newline at end of file diff --git a/java/Dockerfile b/java/jre/Dockerfile similarity index 100% rename from java/Dockerfile rename to java/jre/Dockerfile diff --git a/java/jre/test/Dockerfile b/java/jre/test/Dockerfile new file mode 100644 index 0000000..a758a47 --- /dev/null +++ b/java/jre/test/Dockerfile @@ -0,0 +1,3 @@ +FROM 25-java-jre-test:latest + +CMD ["echo", "hello"] \ No newline at end of file diff --git a/java/test/Dockerfile b/java/test/Dockerfile deleted file mode 100644 index 658b172..0000000 --- a/java/test/Dockerfile +++ /dev/null @@ -1,3 +0,0 @@ -FROM 25-java-test:latest - -CMD ["echo", "hello"] \ No newline at end of file