#!/bin/bash set -e ENVIRONMENT=${1:-dev} IMAGE_TAG=${2:-latest} echo "๐Ÿš€ Starting deployment for environment: $ENVIRONMENT with image tag: $IMAGE_TAG" # ํ™˜๊ฒฝ๋ณ„ ์ด๋ฏธ์ง€ ํƒœ๊ทธ ์—…๋ฐ์ดํŠธ cd deployment/cicd/kustomize/overlays/${ENVIRONMENT} # ์„œ๋น„์Šค ๋ชฉ๋ก (๊ณต๋ฐฑ์œผ๋กœ ๊ตฌ๋ถ„) services="api-gateway user-service bill-service product-service kos-mock" # ๊ฐ ์„œ๋น„์Šค ์ด๋ฏธ์ง€ ํƒœ๊ทธ ์—…๋ฐ์ดํŠธ for service in $services; do echo "๐Ÿ“ฆ Updating image tag for $service to ${ENVIRONMENT}-${IMAGE_TAG}" kustomize edit set image acrdigitalgarage01.azurecr.io/phonebill/$service:${ENVIRONMENT}-${IMAGE_TAG} done # ๋ฐฐํฌ ์‹คํ–‰ echo "๐Ÿ”ง Applying manifests to Kubernetes cluster..." kubectl apply -k . # ๋ฐฐํฌ ์ƒํƒœ ํ™•์ธ echo "โณ Waiting for deployments to be ready..." for service in $services; do echo " Checking $service..." kubectl rollout status deployment/$service -n phonebill-${ENVIRONMENT} --timeout=300s done echo "โœ… Deployment completed successfully!" echo "๐ŸŒ Application endpoints:" kubectl get ingress -n phonebill-${ENVIRONMENT} -o wide