Merge branch 'master' of https://dev.azure.com/olympusai/Olympus/_git/hermione-fe
This commit is contained in:
110
azure-pipelines.yml
Normal file
110
azure-pipelines.yml
Normal file
@@ -0,0 +1,110 @@
|
|||||||
|
trigger:
|
||||||
|
- master
|
||||||
|
|
||||||
|
variables:
|
||||||
|
dockerRegistryServiceConnection: 'docker-registry-olympus'
|
||||||
|
imageName: 'hermione-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)
|
||||||
|
|
||||||
|
# Extract the short commit SHA
|
||||||
|
- 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 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 "Listing the docker images..."
|
||||||
|
docker images
|
||||||
|
displayName: 'List docker images'
|
||||||
|
|
||||||
|
- script: |
|
||||||
|
echo "Removing Docker images to clean up..."
|
||||||
|
docker rmi $(docker images -q)
|
||||||
|
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)
|
||||||
20
manifests/hermione-fe-deployment.yaml
Normal file
20
manifests/hermione-fe-deployment.yaml
Normal file
@@ -0,0 +1,20 @@
|
|||||||
|
kind: Deployment
|
||||||
|
apiVersion: apps/v1
|
||||||
|
metadata:
|
||||||
|
name: hermione-fe
|
||||||
|
namespace: olympus
|
||||||
|
spec:
|
||||||
|
replicas: 1
|
||||||
|
selector:
|
||||||
|
matchLabels:
|
||||||
|
app: hermione-fe
|
||||||
|
template:
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
app: hermione-fe
|
||||||
|
spec:
|
||||||
|
containers:
|
||||||
|
- name: hermione-fe
|
||||||
|
image: olympusreg.azurecr.io/hermione-fe:10edf802
|
||||||
|
resources: {}
|
||||||
|
imagePullPolicy: Always
|
||||||
Reference in New Issue
Block a user