#!/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" echo "๐Ÿ“ฆ Updating image tags for services: $services" # ๊ฐ ์„œ๋น„์Šค ์ด๋ฏธ์ง€ ํƒœ๊ทธ ์—…๋ฐ์ดํŠธ for service in $services; do echo " - Updating $service to ${ENVIRONMENT}-${IMAGE_TAG}" kustomize edit set image acrdigitalgarage01.azurecr.io/phonebill/$service:${ENVIRONMENT}-${IMAGE_TAG} done echo "๐Ÿ”ง Applying Kubernetes manifests..." # ๋ฐฐํฌ ์‹คํ–‰ kubectl apply -k . echo "โณ Waiting for deployments to be ready..." # ๋ฐฐํฌ ์ƒํƒœ ํ™•์ธ for service in $services; do echo " - Checking rollout status for $service" kubectl rollout status deployment/$service -n phonebill-dg0500 --timeout=300s done echo "โœ… Deployment completed successfully!" echo "" echo "๐Ÿ“Š Current deployment status:" kubectl get pods -n phonebill-dg0500 -o wide echo "" echo "๐ŸŒ Service endpoints:" kubectl get services -n phonebill-dg0500 echo "" echo "๐Ÿ”— Ingress information:" kubectl get ingress -n phonebill-dg0500