mirror of
https://github.com/cna-bootcamp/phonebill.git
synced 2025-12-06 08:06:24 +00:00
- Kustomize 기반 환경별 매니페스트 관리 시스템 구축 - Base 매니페스트 및 환경별(dev/staging/prod) Overlay 작성 - Strategic Merge Patch → Patch 형식으로 업데이트 - Jenkinsfile 파드 자동 정리 기능 적용 - 배포 스크립트 및 검증 스크립트 작성 - 상세 구축 가이드 문서 작성 - 모든 환경 Kustomize 빌드 검증 완료 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
34 lines
1.1 KiB
Bash
Executable File
34 lines
1.1 KiB
Bash
Executable File
#!/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 |