manifests pipeline updated
This commit is contained in:
@@ -1,14 +1,23 @@
|
||||
# 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: 'hermione-fe' # Replace with your Docker image name
|
||||
imageName: 'ariadne-fe' # Replace with your Docker image name
|
||||
shortCommitSha: '' # Initialize variable for short commit SHA
|
||||
envName: 'aks-olympus'
|
||||
azurecontainerRegistry: 'olympusreg.azurecr.io'
|
||||
resourceName: 'olympus'
|
||||
VITE_BACKEND_URL: 'http://olympus-api-gateway-aks.olympusai.live/hermione'
|
||||
|
||||
stages:
|
||||
- stage: Build
|
||||
displayName: Build stage
|
||||
jobs:
|
||||
- job: Build
|
||||
displayName: "Build & push to ACR"
|
||||
pool:
|
||||
name: azureselfhosted
|
||||
steps:
|
||||
- checkout: self # Check out the pipeline repository (optional)
|
||||
|
||||
@@ -16,55 +25,86 @@ steps:
|
||||
- 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 hermione-fe directory'
|
||||
|
||||
- script: |
|
||||
echo "Listing the docker images..."
|
||||
docker images
|
||||
displayName: 'List docker images1'
|
||||
|
||||
- task: Docker@2
|
||||
displayName: Build
|
||||
inputs:
|
||||
command: build
|
||||
containerRegistry: $(dockerRegistryServiceConnection)
|
||||
repository: '$(imageName)'
|
||||
tags: '$(shortCommitSha)'
|
||||
Dockerfile: 'Dockerfile'
|
||||
arguments: '--build-arg VITE_BACKEND_URL=http://olympus-api-gateway-aks.olympusai.live/hermione'
|
||||
|
||||
- task: Docker@2
|
||||
displayName: Push
|
||||
inputs:
|
||||
command: push
|
||||
containerRegistry: $(dockerRegistryServiceConnection)
|
||||
repository: '$(imageName)'
|
||||
tags: '$(shortCommitSha)'
|
||||
displayName: 'list files'
|
||||
|
||||
- script: |
|
||||
echo "Listing the docker images..."
|
||||
docker images
|
||||
displayName: 'List docker images'
|
||||
|
||||
- task: Docker@2
|
||||
inputs:
|
||||
command: build
|
||||
repository: '$(imageName)'
|
||||
Dockerfile: 'Dockerfile'
|
||||
containerRegistry: $(dockerRegistryServiceConnection)
|
||||
tags: '$(shortCommitSha)'
|
||||
arguments: '--build-arg VITE_BACKEND_URL=$(VITE_BACKEND_URL)'
|
||||
displayName: 'Build an image for container registry'
|
||||
|
||||
- task: Docker@2
|
||||
inputs:
|
||||
command: push
|
||||
containerRegistry: $(dockerRegistryServiceConnection)
|
||||
repository: '$(imageName)'
|
||||
tags: '$(shortCommitSha)'
|
||||
displayName: 'push an image to container registry'
|
||||
|
||||
- script: |
|
||||
echo "Updating imageName in dpeloyment.yaml"
|
||||
echo "Before Substitution"
|
||||
cat hermione-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)|" hermione-fe-deployment.yaml
|
||||
echo "After Substitution"
|
||||
cat hermione-fe-deployment.yaml
|
||||
displayName: 'Update ImageName in YAML file'
|
||||
echo "Listing the docker images..."
|
||||
docker images
|
||||
displayName: 'List docker images'
|
||||
|
||||
- script: |
|
||||
echo "deployment using kubectl"
|
||||
kubectl apply -f hermione-fe-deployment.yaml
|
||||
displayName: 'deployment using kubectl'
|
||||
- script: |
|
||||
echo "remove the docker images..."
|
||||
echo "Removing Docker images to clean up..."
|
||||
docker rmi $(docker images -q)
|
||||
displayName: 'remove docker images'
|
||||
displayName: 'Clean up Docker Images'
|
||||
continueOnError: true
|
||||
condition: always()
|
||||
|
||||
- script: |
|
||||
echo "Listing the docker images..."
|
||||
docker images
|
||||
displayName: 'List docker images after removal'
|
||||
|
||||
- upload: manifests
|
||||
artifact: manifests
|
||||
|
||||
- stage: Deploy
|
||||
displayName: Deploy stage
|
||||
dependsOn: Build
|
||||
|
||||
jobs:
|
||||
- deployment: Deploy
|
||||
condition: succeeded()
|
||||
displayName: "Deploy to ${{variables.envName}} environment"
|
||||
pool:
|
||||
name: azureselfhosted
|
||||
environment:
|
||||
name: $(envName).$(resourceName)
|
||||
resourceType: Kubernetes
|
||||
strategy:
|
||||
runOnce:
|
||||
deploy:
|
||||
steps:
|
||||
- script: |
|
||||
echo "##vso[task.setvariable variable=shortCommitSha]$(echo $(Build.SourceVersion) | cut -c1-8)"
|
||||
displayName: 'Set Short Commit SHA'
|
||||
|
||||
- script: |
|
||||
echo "########################################################################"
|
||||
echo "Short Commit SHA: $(shortCommitSha)"
|
||||
displayName: 'Echo short commit SHA'
|
||||
|
||||
- task: KubernetesManifest@0
|
||||
displayName: Deploy to Kubernetes cluster
|
||||
inputs:
|
||||
action: deploy
|
||||
manifests: |
|
||||
$(Pipeline.Workspace)/manifests/hermione-fe-deployment.yaml
|
||||
containers: |
|
||||
$(azurecontainerRegistry)/$(imageName):$(shortCommitSha)
|
||||
Reference in New Issue
Block a user