diff --git a/.pipelines/templates/build-and-push-containers.yml b/.pipelines/templates/build-and-push-containers.yml index 3a5db4931..b78498b5e 100644 --- a/.pipelines/templates/build-and-push-containers.yml +++ b/.pipelines/templates/build-and-push-containers.yml @@ -14,6 +14,15 @@ parameters: type: string default: 'docker-compose.yml' steps: + - script: | + docker run --rm --privileged multiarch/qemu-user-static --reset -p yes + displayName: 'Set up QEMU' + + - script: | + docker buildx create --use --name mybuilder + docker buildx inspect mybuilder --bootstrap + displayName: Set up Docker Buildx + - task: DockerCompose@0 displayName: Build Presidio Images inputs: @@ -24,6 +33,8 @@ steps: IMAGE_PREFIX=${{ parameters.IMAGE_PREFIX }} TAG=${{ parameters.TAG }} projectName: 'microsoft_presidio' + buildArguments: '--platform linux/amd64,linux/arm64' + - task: DockerCompose@0 displayName: Push Presidio Images to ACR @@ -39,3 +50,4 @@ steps: REGISTRY_NAME=${{ parameters.REGISTRY_NAME }} IMAGE_PREFIX=${{ parameters.IMAGE_PREFIX }} TAG=${{ parameters.TAG }} + buildArguments: '--platform linux/amd64,linux/arm64' diff --git a/.pipelines/templates/e2e-tests.yml b/.pipelines/templates/e2e-tests.yml index 9dd94486e..0d761213d 100644 --- a/.pipelines/templates/e2e-tests.yml +++ b/.pipelines/templates/e2e-tests.yml @@ -9,6 +9,15 @@ parameters: type: string default: '' steps: + - script: | + docker run --rm --privileged multiarch/qemu-user-static --reset -p yes + displayName: 'Set up QEMU' + + - script: | + docker buildx create --use --name mybuilder + docker buildx inspect mybuilder --bootstrap + displayName: Set up Docker Buildx + - task: DockerCompose@0 displayName: Start Presidio Cluster inputs: @@ -16,9 +25,10 @@ steps: projectName: 'microsoft_presidio' dockerComposeFile: docker-compose.yml buildImages: false + buildArguments: '--platform linux/amd64,linux/arm64' # Start cluster when testing against remote cluster, when an external url is not provided. condition: eq('${{ parameters.anonymizer_base_url }}', '') - + - task: UsePythonVersion@0 inputs: versionSpec: '3.10' diff --git a/docker-compose-image.yml b/docker-compose-image.yml index ebe103e02..bc61ece7c 100644 --- a/docker-compose-image.yml +++ b/docker-compose-image.yml @@ -5,6 +5,9 @@ services: context: ./presidio-image-redactor args: - NAME=presidio-image-redactor + platforms: + - linux/amd64 + - linux/arm64 environment: - PORT=5001 ports: diff --git a/docker-compose-text.yml b/docker-compose-text.yml index aecc9ee5a..45986e674 100644 --- a/docker-compose-text.yml +++ b/docker-compose-text.yml @@ -5,6 +5,9 @@ services: context: ./presidio-anonymizer args: - NAME=presidio-anonymizer + platforms: + - linux/amd64 + - linux/arm64 environment: - PORT=5001 ports: @@ -15,6 +18,9 @@ services: context: ./presidio-analyzer args: - NAME=presidio-analyzer + platforms: + - linux/amd64 + - linux/arm64 environment: - PORT=5001 ports: diff --git a/docker-compose-transformers.yml b/docker-compose-transformers.yml index 5fa32d775..abac01afb 100644 --- a/docker-compose-transformers.yml +++ b/docker-compose-transformers.yml @@ -5,6 +5,9 @@ services: context: ./presidio-anonymizer args: - NAME=presidio-anonymizer + platforms: + - linux/amd64 + - linux/arm64 environment: - PORT=5001 ports: @@ -16,6 +19,9 @@ services: args: - NAME=presidio-analyzer - NLP_CONF_FILE=presidio_analyzer/conf/transformers.yaml + platforms: + - linux/amd64 + - linux/arm64 dockerfile: Dockerfile.transformers environment: - PORT=5001 diff --git a/docker-compose.yml b/docker-compose.yml index 7ef9b44e5..096a28f0e 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -5,6 +5,9 @@ services: context: ./presidio-anonymizer args: - NAME=presidio-anonymizer + platforms: + - linux/amd64 + - linux/arm64 environment: - PORT=5001 ports: @@ -15,6 +18,9 @@ services: context: ./presidio-analyzer args: - NAME=presidio-analyzer + platforms: + - linux/amd64 + - linux/arm64 environment: - PORT=5001 ports: @@ -25,6 +31,9 @@ services: context: ./presidio-image-redactor args: - NAME=presidio-image-redactor + platforms: + - linux/amd64 + - linux/arm64 environment: - PORT=5001 ports: