diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index 14f904d52..4fe56d7d5 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -3,4 +3,5 @@ # Version change should be approved by a member of 'presidio-administrators' team VERSION @microsoft/presidio-administrators +VERSION-IMAGE-REDACTOR @microsoft/presidio-administrators diff --git a/.pipelines/templates/build-and-push-containers.yml b/.pipelines/templates/build-and-push-containers.yml index 04aaf7352..96ed72221 100644 --- a/.pipelines/templates/build-and-push-containers.yml +++ b/.pipelines/templates/build-and-push-containers.yml @@ -10,12 +10,15 @@ parameters: - name: IMAGE_PREFIX type: string default: '' +- name: DOCKER_COMPOSE_FILE + type: string + default: 'docker-compose.yml' steps: - task: DockerCompose@0 displayName: Build Presidio Images inputs: action: Build services - dockerComposeFile: docker-compose.yml + dockerComposeFile: ${{ parameters.DOCKER_COMPOSE_FILE }} dockerComposeFileArgs: | REGISTRY_NAME=${{ parameters.REGISTRY_NAME }} IMAGE_PREFIX=${{ parameters.IMAGE_PREFIX }} @@ -24,7 +27,7 @@ steps: displayName: Push Presidio Images to ACR inputs: action: Push services - dockerComposeFile: docker-compose.yml + dockerComposeFile: ${{ parameters.DOCKER_COMPOSE_FILE }} containerregistrytype: Azure Container Registry azureSubscriptionEndpoint: ${{ parameters.AZURE_SUBSCRIPTION }} azureContainerRegistry: ${{ parameters.REGISTRY_NAME }} diff --git a/.pipelines/templates/release.yml b/.pipelines/templates/release.yml index a1db9cf4e..a933d1347 100644 --- a/.pipelines/templates/release.yml +++ b/.pipelines/templates/release.yml @@ -20,6 +20,17 @@ stages: displayName: Set Version name: setVer + - job: imageVersion + displayName: 'Get image-redactor version number' + steps: + - bash: | + set -eux # exit on error + imageVer=$(cat VERSION-IMAGE-REDACTOR) + echo $imageVer + echo "##vso[task.setvariable variable=imageVersion;isOutput=true]$imageVer" + displayName: Set Image Version + name: setImageVer + - job: githubRelease displayName: GitHub Release dependsOn: version @@ -41,6 +52,8 @@ stages: WORKING_FOLDER: 'presidio-analyzer' Anonymizer: WORKING_FOLDER: 'presidio-anonymizer' + Image-Redactor: + WORKING_FOLDER: 'presidio-image-redactor' steps: - template: ./publish-to-pypi.yml parameters: @@ -62,12 +75,40 @@ stages: IMAGE_PREFIX: $(IMAGE_PREFIX) TAG: ":$(version)" AZURE_SUBSCRIPTION: $(ACR_AZURE_SUBSCRIPTION) + DOCKER_COMPOSE_FILE: '../docker-compose-text.yml' - template: ./build-and-push-containers.yml parameters: REGISTRY_NAME: $(REGISTRY_NAME) IMAGE_PREFIX: $(IMAGE_PREFIX) TAG: ":latest" AZURE_SUBSCRIPTION: $(ACR_AZURE_SUBSCRIPTION) + DOCKER_COMPOSE_FILE: '../docker-compose-text.yml' + + - job: BuildAndPushImageRedactorContainer + displayName: Build and Push Image Redactor Container + dependsOn: imageVersion + pool: + vmImage: 'ubuntu-16.04' + variables: + version: $[ dependencies.Version.outputs['setImageVer.imageVersion'] ] + REGISTRY_NAME: '$(ACR_REGISTRY_NAME).azurecr.io/' + IMAGE_PREFIX: 'public/' + steps: + - template: ./build-and-push-containers.yml + parameters: + REGISTRY_NAME: $(REGISTRY_NAME) + IMAGE_PREFIX: $(IMAGE_PREFIX) + TAG: ':$(version)' + AZURE_SUBSCRIPTION: $(ACR_AZURE_SUBSCRIPTION) + DOCKER_COMPOSE_FILE: '../docker-compose-image.yml' + - template: ./build-and-push-containers.yml + parameters: + REGISTRY_NAME: $(REGISTRY_NAME) + IMAGE_PREFIX: $(IMAGE_PREFIX) + TAG: ':latest' + AZURE_SUBSCRIPTION: $(ACR_AZURE_SUBSCRIPTION) + DOCKER_COMPOSE_FILE: '../docker-compose-image.yml' + - stage: DeployProd dependsOn: Release variables: diff --git a/VERSION-IMAGE-REDACTOR b/VERSION-IMAGE-REDACTOR new file mode 100644 index 000000000..8a9ecc2ea --- /dev/null +++ b/VERSION-IMAGE-REDACTOR @@ -0,0 +1 @@ +0.0.1 \ No newline at end of file diff --git a/docker-compose-image.yml b/docker-compose-image.yml new file mode 100644 index 000000000..4fbc6ece2 --- /dev/null +++ b/docker-compose-image.yml @@ -0,0 +1,12 @@ +version: '3' +services: + presidio-image-redactor: + image: ${REGISTRY_NAME}${IMAGE_PREFIX}presidio-image-redactor${TAG} + build: + context: ./presidio-image-redactor + args: + - NAME=presidio-image-redactor + environment: + - PORT=5001 + ports: + - "5003:5001" diff --git a/docker-compose-text.yml b/docker-compose-text.yml new file mode 100644 index 000000000..c5109d838 --- /dev/null +++ b/docker-compose-text.yml @@ -0,0 +1,22 @@ +version: '3' +services: + presidio-anonymizer: + image: ${REGISTRY_NAME}${IMAGE_PREFIX}presidio-anonymizer${TAG} + build: + context: ./presidio-anonymizer + args: + - NAME=presidio-anonymizer + environment: + - PORT=5001 + ports: + - "5001:5001" + presidio-analyzer: + image: ${REGISTRY_NAME}${IMAGE_PREFIX}presidio-analyzer${TAG} + build: + context: ./presidio-analyzer + args: + - NAME=presidio-analyzer + environment: + - PORT=5001 + ports: + - "5002:5001" diff --git a/presidio-image-redactor/setup.py b/presidio-image-redactor/setup.py index 17679f0ec..3aaa0b6fa 100644 --- a/presidio-image-redactor/setup.py +++ b/presidio-image-redactor/setup.py @@ -15,7 +15,7 @@ with open(path.join(this_directory, "README.MD"), encoding="utf-8") as f: long_description = f.read() -with open(os.path.join(parent_directory, "VERSION")) as version_file: +with open(os.path.join(parent_directory, "VERSION-IMAGE-REDACTOR")) as version_file: __version__ = version_file.read().strip() setup(