mirror of
https://github.com/cna-bootcamp/phonebill.git
synced 2025-12-06 16:16:23 +00:00
- Kustomize 기반 환경별 배포 구성 (dev/staging/prod) - Jenkins 파이프라인 with SonarQube 품질 게이트 - 파드 자동 정리 및 보안 강화 설정 - 환경별 차등 리소스 할당 및 도메인 설정 - 수동 배포 및 검증 스크립트 제공 - 5개 마이크로서비스 병렬 빌드/배포 지원 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
47 lines
1.4 KiB
Bash
Executable File
47 lines
1.4 KiB
Bash
Executable File
#!/bin/bash
|
|
set -e
|
|
|
|
ENVIRONMENT=${1:-dev}
|
|
IMAGE_TAG=${2:-latest}
|
|
|
|
echo "🚀 Starting manual deployment for environment: $ENVIRONMENT with 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 "🚢 Deploying to Kubernetes cluster..."
|
|
|
|
# 배포 실행
|
|
kubectl apply -k .
|
|
|
|
echo "⏰ Waiting for deployments to be ready..."
|
|
|
|
# 배포 상태 확인
|
|
for service in $services; do
|
|
echo " 🔄 Waiting for $service deployment..."
|
|
kubectl rollout status deployment/$service -n phonebill-${ENVIRONMENT}
|
|
done
|
|
|
|
echo "✅ Deployment completed successfully!"
|
|
echo ""
|
|
echo "📋 Deployment Summary:"
|
|
echo " Environment: $ENVIRONMENT"
|
|
echo " Image Tag: ${ENVIRONMENT}-${IMAGE_TAG}"
|
|
echo " Services: $services"
|
|
echo " Namespace: phonebill-${ENVIRONMENT}"
|
|
echo ""
|
|
echo "🔍 Check deployment status:"
|
|
echo " kubectl get pods -n phonebill-${ENVIRONMENT}"
|
|
echo " kubectl get services -n phonebill-${ENVIRONMENT}"
|
|
echo " kubectl get ingress -n phonebill-${ENVIRONMENT}" |