ondal f12fed5de9 Jenkins 기반 CI/CD 파이프라인 구성
- Kustomize 기반 환경별(dev/staging/prod) 매니페스트 관리
- Jenkins 파이프라인 스크립트 작성 (Podman, Gradle, kubectl 컨테이너)
- SonarQube 코드 품질 분석 및 Quality Gate 연동
- 수동 배포 및 리소스 검증 스크립트 추가
- k8s 매니페스트 구조 재정리 (configmaps, secrets, deployments, services 분리)

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-01 10:23:32 +09:00

39 lines
1.1 KiB
Bash
Executable File

#!/bin/bash
set -e
ENVIRONMENT=${1:-dev}
IMAGE_TAG=${2:-latest}
echo "🚀 Deploying to ${ENVIRONMENT} environment with tag ${IMAGE_TAG}..."
# 환경별 설정 파일 로드
source "$(dirname "$0")/../config/deploy_env_vars_${ENVIRONMENT}"
# 환경별 이미지 태그 업데이트
cd "$(dirname "$0")/../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}..."
kustomize edit set image docker.io/hiondal/$service:${ENVIRONMENT}-${IMAGE_TAG}
done
# 배포 실행
echo "📋 Applying Kustomize manifests..."
kubectl apply -k .
# 배포 상태 확인
echo "⏳ Waiting for deployments to be ready..."
for service in $services; do
echo " Checking ${service}..."
kubectl rollout status deployment/$service -n ${namespace} --timeout=300s || echo " ⚠️ Timeout waiting for ${service}"
done
echo "✅ Deployment completed successfully!"
echo ""
echo "📊 Current status:"
kubectl get pods -n ${namespace}