hiondal 725635fadd Jenkins CI/CD 파이프라인 구축 완료
- Kustomize 기반 환경별 배포 구성 (dev/staging/prod)
- Jenkins 파이프라인 with SonarQube 품질 게이트
- 파드 자동 정리 및 보안 강화 설정
- 환경별 차등 리소스 할당 및 도메인 설정
- 수동 배포 및 검증 스크립트 제공
- 5개 마이크로서비스 병렬 빌드/배포 지원

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-12 22:29:40 +09:00

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}"