Files
apollo/azure-pipelines.yml
shamrao shinde, sumedh f689974727 working version of pipeline
2024-11-08 08:01:26 +00:00

112 lines
3.6 KiB
YAML

trigger:
- master
resources:
repositories:
- repository: olympus-common # Alias for the first repository
type: git
name: Olympus/olympus-common # Project and repository name
ref: master
variables:
dockerRegistryServiceConnection: 'docker-registry-olympus'
imageName: 'apollo'
shortCommitSha: ''
envName: "aks-olympus"
stages:
- stage: Build
displayName: Build stage
jobs:
- job: Build
displayName: "Build & push to ACR"
pool:
name: azureselfhosted
steps:
- checkout: self
- checkout: olympus-common
- script: |
echo "##vso[task.setvariable variable=shortCommitSha]$(echo $(Build.SourceVersion) | cut -c1-8)"
displayName: 'Set Short Commit SHA'
- script: |
echo "Building the first repository..."
ls -lrth
displayName: 'List olympus-common'
- task: Maven@3
inputs:
mavenPomFile: 'olympus-common/pom.xml'
goals: 'install'
displayName: 'Build olympus-common'
- task: Maven@3
inputs:
mavenPomFile: 'apollo/pom.xml'
goals: 'install -DskipTests'
displayName: 'Build apollo'
- 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/Dockerfile'
- script: |
echo "Listing the docker images..."
docker images
displayName: 'List docker images'
- stage: Deploy
displayName: Deploy stage
jobs:
- deployment: Deploy
displayName: "Deploy to ${{variables.envName}}"
condition: succeeded()
pool:
name: azureselfhosted
environment: $(envName)
strategy:
runOnce:
deploy:
steps:
- checkout: self
- script: |
echo "##vso[task.setvariable variable=shortCommitSha]$(echo $(Build.SourceVersion) | cut -c1-8)"
displayName: 'Set Short Commit SHA'
- script: |
echo $(shortCommitSha)
echo "Updating imageName in deployment.yaml"
echo "Before Substitution"
cat apollo-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-deployment.yaml
echo "After Substitution"
cat apollo-deployment.yaml
displayName: 'Update ImageName in YAML file'
- script: |
echo "deployment using kubectl"
kubectl apply -f apollo-deployment.yaml
displayName: 'Deployment using kubectl'
- script: |
echo "Removing Docker images to clean up..."
docker rmi $(docker images -q)
displayName: 'Clean up Docker Images'
continueOnError: true
condition: always()