Set up CI with Azure Pipelines

[skip ci]
This commit is contained in:
shamrao shinde, sumedh
2024-11-06 08:05:44 +00:00
parent dfeac5062f
commit 8e794d8a78

58
azure-pipelines.yml Normal file
View File

@@ -0,0 +1,58 @@
# 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:
# 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'