# Build your Java project and run tests with Apache Maven. # Add steps that analyze code, save build artifacts, deploy, and more: # https://docs.microsoft.com/azure/devops/pipelines/languages/java trigger: - master pool: name: azureselfhosted variables: dockerRegistryServiceConnection: 'docker-registry-olympus' imageName: 'apollo-fe' # Replace with your Docker image name shortCommitSha: '' # Initialize variable for short commit SHA steps: - checkout: self # Check out the pipeline repository (optional) # Extract the short commit SHA - script: | echo "##vso[task.setvariable variable=shortCommitSha]$(echo $(Build.SourceVersion) | cut -c1-7)" displayName: 'Set Short Commit SHA' - script: | echo "Building the first repository..." ls -lrth displayName: 'List olympus-common' - script: | echo "Listing the docker images..." docker images displayName: 'List docker images1' - task: Docker@2 inputs: command: 'buildAndPush' containerRegistry: $(dockerRegistryServiceConnection) repository: '$(imageName)' tags: '$(shortCommitSha)' Dockerfile: 'Dockerfile' arguments: '--build-arg VITE_BACKEND_URL=http://olympus-api-gateway-aks.olympusai.live/apollo' - script: | echo "Listing the docker images..." docker images displayName: 'List docker images' - script: | echo "Updating imageName in dpeloyment.yaml" echo "Before Substitution" cat apollo-fe-deployment.yaml echo "###############################################" echo "current shell: $SHELL" echo "imagename bracket : $(imageName)" echo "###############################################" sed -i "s|image: olympusreg.azurecr.io/$(imageName):.*|image: olympusreg.azurecr.io/$(imageName):$(shortCommitSha)|" apollo-fe-deployment.yaml echo "After Substitution" cat apollo-fe-deployment.yaml displayName: 'Update ImageName in YAML file' - script: | echo "deployment using kubectl" kubectl apply -f apollo-fe-deployment.yaml displayName: 'deployment using kubectl' - script: | echo "remove the docker images..." docker rmi $(docker images -q) displayName: 'remove docker images'