2025-08-21 09:41:46 +09:00
|
|
|
#!/bin/bash
|
|
|
|
|
|
2025-08-28 10:22:41 +09:00
|
|
|
# 시작 시간 기록
|
|
|
|
|
START_TIME=$(date +%s)
|
|
|
|
|
START_TIME_FORMATTED=$(date '+%Y-%m-%d %H:%M:%S')
|
|
|
|
|
|
2025-08-21 09:41:46 +09:00
|
|
|
echo "============================================"
|
|
|
|
|
echo "PLM 솔루션 - 전체 서비스 시작 (분리형)"
|
|
|
|
|
echo "============================================"
|
2025-08-28 10:22:41 +09:00
|
|
|
echo "🕐 시작 시간: $START_TIME_FORMATTED"
|
2025-08-21 09:41:46 +09:00
|
|
|
|
|
|
|
|
echo ""
|
2025-08-22 15:45:05 +09:00
|
|
|
echo "🚀 백엔드(Node.js)와 프론트엔드(Next.js)를 순차적으로 시작합니다..."
|
2025-08-21 09:41:46 +09:00
|
|
|
echo ""
|
|
|
|
|
|
2025-08-25 18:26:38 +09:00
|
|
|
# 기존 컨테이너 강제 삭제 (이름 충돌 방지)
|
|
|
|
|
echo "============================================"
|
|
|
|
|
echo "0. 기존 컨테이너 정리 중..."
|
|
|
|
|
echo "============================================"
|
|
|
|
|
docker rm -f pms-backend-mac pms-frontend-mac 2>/dev/null || echo "기존 컨테이너가 없습니다."
|
|
|
|
|
docker network rm pms-network 2>/dev/null || echo "기존 네트워크가 없습니다."
|
|
|
|
|
echo ""
|
|
|
|
|
|
2025-08-21 09:41:46 +09:00
|
|
|
# 백엔드 먼저 시작
|
2025-08-28 10:22:41 +09:00
|
|
|
BACKEND_START=$(date +%s)
|
2025-08-21 09:41:46 +09:00
|
|
|
echo "============================================"
|
2025-08-22 15:45:05 +09:00
|
|
|
echo "1. 백엔드 서비스 시작 중... (Node.js)"
|
2025-08-21 09:41:46 +09:00
|
|
|
echo "============================================"
|
|
|
|
|
|
|
|
|
|
docker-compose -f docker-compose.backend.mac.yml build --no-cache
|
|
|
|
|
docker-compose -f docker-compose.backend.mac.yml down -v
|
|
|
|
|
docker network create pms-network 2>/dev/null || echo "네트워크가 이미 존재합니다."
|
|
|
|
|
docker-compose -f docker-compose.backend.mac.yml up -d
|
|
|
|
|
|
|
|
|
|
echo ""
|
|
|
|
|
echo "⏳ 백엔드 서비스 안정화 대기 중... (20초)"
|
|
|
|
|
sleep 20
|
|
|
|
|
|
2025-08-28 10:22:41 +09:00
|
|
|
# 백엔드 완료 시간
|
|
|
|
|
BACKEND_END=$(date +%s)
|
|
|
|
|
BACKEND_DURATION=$((BACKEND_END - BACKEND_START))
|
|
|
|
|
echo "✅ 백엔드 완료 (${BACKEND_DURATION}초 소요)"
|
|
|
|
|
|
2025-08-21 09:41:46 +09:00
|
|
|
# 프론트엔드 시작
|
2025-08-28 10:22:41 +09:00
|
|
|
FRONTEND_START=$(date +%s)
|
2025-08-21 09:41:46 +09:00
|
|
|
echo ""
|
|
|
|
|
echo "============================================"
|
2025-08-22 15:45:05 +09:00
|
|
|
echo "2. 프론트엔드 서비스 시작 중... (Next.js)"
|
2025-08-21 09:41:46 +09:00
|
|
|
echo "============================================"
|
|
|
|
|
|
|
|
|
|
docker-compose -f docker-compose.frontend.mac.yml build --no-cache
|
|
|
|
|
docker-compose -f docker-compose.frontend.mac.yml down -v
|
|
|
|
|
docker-compose -f docker-compose.frontend.mac.yml up -d
|
|
|
|
|
|
|
|
|
|
echo ""
|
|
|
|
|
echo "⏳ 프론트엔드 서비스 안정화 대기 중... (10초)"
|
|
|
|
|
sleep 10
|
|
|
|
|
|
2025-08-28 10:22:41 +09:00
|
|
|
# 프론트엔드 완료 시간
|
|
|
|
|
FRONTEND_END=$(date +%s)
|
|
|
|
|
FRONTEND_DURATION=$((FRONTEND_END - FRONTEND_START))
|
|
|
|
|
echo "✅ 프론트엔드 완료 (${FRONTEND_DURATION}초 소요)"
|
|
|
|
|
|
2025-08-21 09:41:46 +09:00
|
|
|
echo ""
|
|
|
|
|
echo "============================================"
|
|
|
|
|
echo "🎉 모든 서비스가 시작되었습니다!"
|
|
|
|
|
echo "============================================"
|
|
|
|
|
echo ""
|
|
|
|
|
echo "[DATABASE] PostgreSQL: http://39.117.244.52:11132"
|
2025-08-22 15:45:05 +09:00
|
|
|
echo "[BACKEND] Node.js API: http://localhost:8080/api"
|
2025-08-21 09:41:46 +09:00
|
|
|
echo "[FRONTEND] Next.js: http://localhost:9771"
|
|
|
|
|
echo ""
|
|
|
|
|
echo "서비스 상태 확인:"
|
|
|
|
|
echo " 백엔드: docker-compose -f docker-compose.backend.mac.yml ps"
|
|
|
|
|
echo " 프론트엔드: docker-compose -f docker-compose.frontend.mac.yml ps"
|
|
|
|
|
echo ""
|
|
|
|
|
echo "로그 확인:"
|
|
|
|
|
echo " 백엔드: docker-compose -f docker-compose.backend.mac.yml logs -f"
|
|
|
|
|
echo " 프론트엔드: docker-compose -f docker-compose.frontend.mac.yml logs -f"
|
|
|
|
|
echo ""
|
|
|
|
|
echo "서비스 중지:"
|
|
|
|
|
echo " 백엔드: docker-compose -f docker-compose.backend.mac.yml down"
|
|
|
|
|
echo " 프론트엔드: docker-compose -f docker-compose.frontend.mac.yml down"
|
|
|
|
|
echo " 전체: ./stop-all.sh"
|
|
|
|
|
echo ""
|
|
|
|
|
echo "============================================"
|
|
|
|
|
|
2025-08-28 10:22:41 +09:00
|
|
|
# 종료 시간 계산 및 표시
|
|
|
|
|
END_TIME=$(date +%s)
|
|
|
|
|
END_TIME_FORMATTED=$(date '+%Y-%m-%d %H:%M:%S')
|
|
|
|
|
DURATION=$((END_TIME - START_TIME))
|
|
|
|
|
MINUTES=$((DURATION / 60))
|
|
|
|
|
SECONDS=$((DURATION % 60))
|
|
|
|
|
|
|
|
|
|
echo "🕐 종료 시간: $END_TIME_FORMATTED"
|
|
|
|
|
echo "⏱️ 총 소요 시간: ${MINUTES}분 ${SECONDS}초"
|
|
|
|
|
echo ""
|
|
|
|
|
echo "📊 단계별 소요 시간:"
|
|
|
|
|
echo " • 백엔드 서비스: ${BACKEND_DURATION}초"
|
|
|
|
|
echo " • 프론트엔드 서비스: ${FRONTEND_DURATION}초"
|
|
|
|
|
echo "============================================"
|
|
|
|
|
|
2025-08-21 09:41:46 +09:00
|
|
|
read -p "계속하려면 아무 키나 누르세요..."
|