60 lines
1.8 KiB
Bash
Executable File
60 lines
1.8 KiB
Bash
Executable File
#!/bin/bash
|
|
set -e
|
|
|
|
echo "======================================"
|
|
echo " Web Portal - Build & Deploy Script"
|
|
echo "======================================"
|
|
|
|
# Docker Desktop의 쿠버네티스 컨텍스트 확인
|
|
echo ""
|
|
echo "[1/5] 쿠버네티스 컨텍스트 확인..."
|
|
kubectl config current-context
|
|
echo "✅ 쿠버네티스 연결 OK"
|
|
|
|
# Docker 이미지 빌드
|
|
echo ""
|
|
echo "[2/5] Docker 이미지 빌드..."
|
|
cd "$(dirname "$0")"
|
|
docker build -t portal-backend:latest ./backend/
|
|
docker build -t portal-frontend:latest ./frontend/
|
|
echo "✅ 이미지 빌드 완료"
|
|
|
|
# 네임스페이스 및 시크릿 생성
|
|
echo ""
|
|
echo "[3/5] 네임스페이스 및 기본 리소스 생성..."
|
|
kubectl apply -f k8s/01-namespace.yaml
|
|
kubectl apply -f k8s/03-secrets.yaml
|
|
echo "✅ 네임스페이스 생성 완료"
|
|
|
|
# PostgreSQL 배포
|
|
echo ""
|
|
echo "[4/5] PostgreSQL 배포..."
|
|
kubectl apply -f k8s/02-postgres.yaml
|
|
echo "PostgreSQL 준비 대기중..."
|
|
kubectl rollout status deployment/postgres -n web-portal --timeout=120s
|
|
echo "✅ PostgreSQL 준비 완료"
|
|
|
|
# Backend & Frontend 배포
|
|
echo ""
|
|
echo "[5/5] Backend & Frontend 배포..."
|
|
kubectl apply -f k8s/04-backend.yaml
|
|
kubectl apply -f k8s/05-frontend.yaml
|
|
echo "서비스 준비 대기중..."
|
|
kubectl rollout status deployment/backend -n web-portal --timeout=120s
|
|
kubectl rollout status deployment/frontend -n web-portal --timeout=120s
|
|
echo "✅ 모든 서비스 배포 완료"
|
|
|
|
echo ""
|
|
echo "======================================"
|
|
echo " 🎉 배포 성공!"
|
|
echo "======================================"
|
|
echo ""
|
|
echo " 접속 URL: http://localhost:30090"
|
|
echo ""
|
|
echo " 기본 계정:"
|
|
echo " 관리자 - ID: admin PW: admin1234"
|
|
echo " 일반 - ID: user1 PW: user1234"
|
|
echo ""
|
|
echo " 상태 확인: kubectl get all -n web-portal"
|
|
echo "======================================"
|