59 lines
2.2 KiB
YAML
59 lines
2.2 KiB
YAML
# 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: 'apollo-fe/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/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/apollo-fe-deployment.yaml
|
|
echo "After Substitution"
|
|
cat apollo-fe/apollo-fe-deployment.yaml
|
|
displayName: 'Update ImageName in YAML file'
|
|
- script: |
|
|
echo "deployment using kubectl"
|
|
kubectl apply -f apollo-fe/apollo-fe-deployment.yaml
|
|
displayName: 'deployment using kubectl'
|
|
- script: |
|
|
echo "remove the docker images..."
|
|
docker rmi $(docker images -q)
|
|
displayName: 'remove docker images' |