diff --git a/Dockerfile b/Dockerfile index 4386705f..d69828e3 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,5 +1,6 @@ ARG APP_INSIGHTS_AGENT_VERSION=3.2.4 -FROM hmctspublic.azurecr.io/base/java:17-distroless +ARG PLATFORM="" +FROM hmctspublic.azurecr.io/base/java${PLATFORM}:17-distroless COPY lib/AI-Agent.xml /opt/app/ COPY build/libs/rd-profile-sync.jar /opt/app/ diff --git a/acb.tpl.yaml b/acb.tpl.yaml new file mode 100644 index 00000000..6c66afb3 --- /dev/null +++ b/acb.tpl.yaml @@ -0,0 +1,52 @@ +version: 1.0-preview-1 +steps: + - id: pull-base-image-amd64 + cmd: docker pull --platform linux/amd64 hmctspublic.azurecr.io/base/java:17-distroless && docker tag hmctspublic.azurecr.io/base/java:17-distroless hmctspublic.azurecr.io/base/java/linux/amd64:17-distroless + when: ["-"] + keep: true + + - id: runtime-amd64 + build: > + -t {{.Run.Registry}}/{{CI_IMAGE_TAG}}-amd64 + --build-arg PLATFORM=/linux/amd64 + --platform linux/amd64 + . + when: + - pull-base-image-amd64 + keep: true + + - id: pull-base-image-arm64 + cmd: docker pull --platform linux/arm64 hmctspublic.azurecr.io/base/java:17-distroless && docker tag hmctspublic.azurecr.io/base/java:17-distroless hmctspublic.azurecr.io/base/java/linux/arm64:17-distroless + when: + - pull-base-image-amd64 + keep: true + + - id: runtime-arm64 + build: > + -t {{.Run.Registry}}/{{CI_IMAGE_TAG}}-arm64 + --build-arg PLATFORM=/linux/arm64 + --platform linux/arm64/v8 + . + when: + - pull-base-image-arm64 + keep: true + + - id: push-images + push: + - "{{.Run.Registry}}/{{CI_IMAGE_TAG}}-amd64" + - "{{.Run.Registry}}/{{CI_IMAGE_TAG}}-arm64" + when: + - runtime-amd64 + - runtime-arm64 + + - id: manifest-create + cmd: docker manifest create {{.Run.Registry}}/{{CI_IMAGE_TAG}} {{.Run.Registry}}/{{CI_IMAGE_TAG}}-amd64 {{.Run.Registry}}/{{CI_IMAGE_TAG}}-arm64 + when: + - push-images + keep: true + + - id: manifest-push + cmd: docker manifest push --purge {{.Run.Registry}}/{{CI_IMAGE_TAG}} + when: + - manifest-create + keep: true \ No newline at end of file