@@ -379,6 +379,18 @@ extends:
379379 # Debug output to verify version variable
380380 echo "Version from previous step: $VERSION"
381381 displayName: 'Verify version variable'
382+
383+ - script : |
384+ docker run --privileged --rm tonistiigi/binfmt --install all
385+ displayName: "Enable multi-platform builds"
386+
387+ - script : |
388+ docker buildx create --use --name mybuilder
389+ displayName: "Set up Docker BuildX"
390+
391+ - script : |
392+ docker buildx inspect --bootstrap
393+ displayName: "Ensure BuildX is working"
382394
383395 - bash : |
384396 echo "Build Number: $(Build.BuildNumber)"
@@ -413,27 +425,24 @@ extends:
413425 echo "Building Docker image..."
414426 echo "Using build date: ${BUILDDATE}"
415427 # Using quotes around tags to prevent flag interpretation
416- docker build \
417- --platform linux/amd64 \
428+ docker buildx build \
429+ --platform linux/amd64,linux/arm64/v8,linux/arm/v7 \
430+ --push \
418431 -t "$(REGISTRY)/$(IMAGE_NAME):nightly" \
419432 -t "$(REGISTRY)/$(IMAGE_NAME):${VERSION}.${BUILDDATE}${RUNNUMBER}" \
420433 "$(Build.SourcesDirectory)"
421-
422- echo "Pushing Docker image with nightly tag..."
423- docker push "$(REGISTRY)/$(IMAGE_NAME):nightly"
424- docker push "$(REGISTRY)/$(IMAGE_NAME):${VERSION}.${BUILDDATE}${RUNNUMBER}"
434+
425435 displayName: 'Build and Push Nightly Image'
426436 condition: eq(variables['Build.SourceBranch'], variables['PREVIEW_BRANCH'])
427437
428438 - bash : |
429439 echo "Building Docker image for release..."
430- docker build \
440+ docker buildx build \
441+ --platform linux/amd64,linux/arm64/v8,linux/arm/v7 \
442+ --push \
431443 -t "$(REGISTRY)/$(IMAGE_NAME):latest" \
432444 -t "$(REGISTRY)/$(IMAGE_NAME):${VERSION}.${BUILDDATE}${RUNNUMBER}" \
433445 "$(Build.SourcesDirectory)"
434-
435- echo "Pushing Docker image with latest and version tags..."
436- docker push "$(REGISTRY)/$(IMAGE_NAME):latest"
437- docker push "$(REGISTRY)/$(IMAGE_NAME):${VERSION}.${BUILDDATE}${RUNNUMBER}"
446+
438447 displayName: 'Build and Push Release Image'
439448 condition: contains(variables['Build.SourceBranch'], 'refs/tags/v')
0 commit comments