도커 파일 및 스크립트 파일 위치 정리
This commit is contained in:
129
scripts/dev/start-all-parallel.sh
Executable file
129
scripts/dev/start-all-parallel.sh
Executable file
@@ -0,0 +1,129 @@
|
||||
#!/bin/bash
|
||||
|
||||
# 시작 시간 기록
|
||||
START_TIME=$(date +%s)
|
||||
START_TIME_FORMATTED=$(date '+%Y-%m-%d %H:%M:%S')
|
||||
|
||||
echo "============================================"
|
||||
echo "PLM 솔루션 - 전체 서비스 시작 (병렬 최적화)"
|
||||
echo "============================================"
|
||||
echo "🕐 시작 시간: $START_TIME_FORMATTED"
|
||||
|
||||
echo ""
|
||||
echo "🚀 백엔드와 프론트엔드를 병렬로 빌드 및 시작합니다..."
|
||||
echo ""
|
||||
|
||||
# 기존 컨테이너 강제 삭제 (이름 충돌 방지)
|
||||
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 "기존 네트워크가 없습니다."
|
||||
docker network create pms-network 2>/dev/null || echo "네트워크를 생성했습니다."
|
||||
echo ""
|
||||
|
||||
# 병렬 빌드 시작
|
||||
PARALLEL_START=$(date +%s)
|
||||
echo "============================================"
|
||||
echo "1. 병렬 빌드 시작 (백엔드 + 프론트엔드)"
|
||||
echo "============================================"
|
||||
|
||||
# 백엔드 빌드 (백그라운드)
|
||||
echo "🔧 백엔드 빌드 시작..."
|
||||
(
|
||||
docker-compose -f docker/dev/docker-compose.backend.mac.yml build
|
||||
echo "✅ 백엔드 빌드 완료"
|
||||
) &
|
||||
BACKEND_PID=$!
|
||||
|
||||
# 프론트엔드 빌드 (백그라운드)
|
||||
echo "🔧 프론트엔드 빌드 시작..."
|
||||
(
|
||||
docker-compose -f docker/dev/docker-compose.frontend.mac.yml build
|
||||
echo "✅ 프론트엔드 빌드 완료"
|
||||
) &
|
||||
FRONTEND_PID=$!
|
||||
|
||||
# 두 빌드가 모두 완료될 때까지 대기
|
||||
echo "⏳ 병렬 빌드 진행 중..."
|
||||
wait $BACKEND_PID
|
||||
wait $FRONTEND_PID
|
||||
|
||||
PARALLEL_END=$(date +%s)
|
||||
PARALLEL_DURATION=$((PARALLEL_END - PARALLEL_START))
|
||||
echo "✅ 병렬 빌드 완료 (${PARALLEL_DURATION}초 소요)"
|
||||
|
||||
# 서비스 시작
|
||||
echo ""
|
||||
echo "============================================"
|
||||
echo "2. 서비스 시작 중..."
|
||||
echo "============================================"
|
||||
|
||||
SERVICE_START=$(date +%s)
|
||||
|
||||
# 기존 컨테이너 정리
|
||||
docker-compose -f docker/dev/docker-compose.backend.mac.yml down -v 2>/dev/null
|
||||
docker-compose -f docker/dev/docker-compose.frontend.mac.yml down -v 2>/dev/null
|
||||
|
||||
# 백엔드 시작 (백그라운드)
|
||||
echo "🚀 백엔드 서비스 시작..."
|
||||
docker-compose -f docker/dev/docker-compose.backend.mac.yml up -d &
|
||||
BACKEND_START_PID=$!
|
||||
|
||||
# 프론트엔드 시작 (백그라운드)
|
||||
echo "🚀 프론트엔드 서비스 시작..."
|
||||
docker-compose -f docker/dev/docker-compose.frontend.mac.yml up -d &
|
||||
FRONTEND_START_PID=$!
|
||||
|
||||
# 서비스 시작 완료 대기
|
||||
wait $BACKEND_START_PID
|
||||
wait $FRONTEND_START_PID
|
||||
|
||||
echo ""
|
||||
echo "⏳ 서비스 안정화 대기 중... (8초)"
|
||||
sleep 8
|
||||
|
||||
SERVICE_END=$(date +%s)
|
||||
SERVICE_DURATION=$((SERVICE_END - SERVICE_START))
|
||||
echo "✅ 서비스 시작 완료 (${SERVICE_DURATION}초 소요)"
|
||||
|
||||
echo ""
|
||||
echo "============================================"
|
||||
echo "🎉 모든 서비스가 시작되었습니다!"
|
||||
echo "============================================"
|
||||
echo ""
|
||||
echo "[DATABASE] PostgreSQL: http://39.117.244.52:11132"
|
||||
echo "[BACKEND] Node.js API: http://localhost:8080/api"
|
||||
echo "[FRONTEND] Next.js: http://localhost:9771"
|
||||
echo ""
|
||||
echo "서비스 상태 확인:"
|
||||
echo " 백엔드: docker-compose -f docker/dev/docker-compose.backend.mac.yml ps"
|
||||
echo " 프론트엔드: docker-compose -f docker/dev/docker-compose.frontend.mac.yml ps"
|
||||
echo ""
|
||||
echo "로그 확인:"
|
||||
echo " 백엔드: docker-compose -f docker/dev/docker-compose.backend.mac.yml logs -f"
|
||||
echo " 프론트엔드: docker-compose -f docker/dev/docker-compose.frontend.mac.yml logs -f"
|
||||
echo ""
|
||||
echo "서비스 중지:"
|
||||
echo " 백엔드: docker-compose -f docker/dev/docker-compose.backend.mac.yml down"
|
||||
echo " 프론트엔드: docker-compose -f docker/dev/docker-compose.frontend.mac.yml down"
|
||||
echo " 전체: ./stop-all.sh"
|
||||
echo ""
|
||||
echo "============================================"
|
||||
|
||||
# 종료 시간 계산 및 표시
|
||||
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 " • 병렬 빌드: ${PARALLEL_DURATION}초"
|
||||
echo " • 서비스 시작: ${SERVICE_DURATION}초"
|
||||
echo "============================================"
|
||||
|
||||
read -p "계속하려면 아무 키나 누르세요..."
|
||||
41
scripts/dev/start-backend.sh
Executable file
41
scripts/dev/start-backend.sh
Executable file
@@ -0,0 +1,41 @@
|
||||
#!/bin/bash
|
||||
|
||||
echo "============================================"
|
||||
echo "PLM 솔루션 - 백엔드 (Node.js) 시작"
|
||||
echo "============================================"
|
||||
|
||||
echo ""
|
||||
echo "1. Docker 이미지 빌드 중..."
|
||||
docker-compose -f docker/dev/docker-compose.backend.mac.yml build
|
||||
|
||||
echo ""
|
||||
echo "2. 기존 백엔드 컨테이너 정리 중..."
|
||||
docker-compose -f docker/dev/docker-compose.backend.mac.yml down -v
|
||||
|
||||
echo ""
|
||||
echo "3. Docker 네트워크 생성 중..."
|
||||
docker network create pms-network 2>/dev/null || echo "네트워크가 이미 존재합니다."
|
||||
|
||||
echo ""
|
||||
echo "4. 백엔드 컨테이너 시작 중..."
|
||||
docker-compose -f docker/dev/docker-compose.backend.mac.yml up -d
|
||||
|
||||
echo ""
|
||||
echo "5. 서비스 상태 확인 중..."
|
||||
sleep 8
|
||||
|
||||
echo ""
|
||||
echo "============================================"
|
||||
echo "백엔드 서비스가 시작되었습니다!"
|
||||
echo "============================================"
|
||||
echo ""
|
||||
echo "[DATABASE] PostgreSQL: http://39.117.244.52:11132"
|
||||
echo "[BACKEND] Node.js API: http://localhost:8080/api"
|
||||
echo ""
|
||||
echo "상태 확인: docker-compose -f docker/dev/docker-compose.backend.mac.yml ps"
|
||||
echo "로그 확인: docker-compose -f docker/dev/docker-compose.backend.mac.yml logs -f"
|
||||
echo "중지하기: docker-compose -f docker/dev/docker-compose.backend.mac.yml down"
|
||||
echo ""
|
||||
echo "============================================"
|
||||
|
||||
read -p "계속하려면 아무 키나 누르세요..."
|
||||
42
scripts/dev/start-frontend.sh
Executable file
42
scripts/dev/start-frontend.sh
Executable file
@@ -0,0 +1,42 @@
|
||||
#!/bin/bash
|
||||
|
||||
echo "============================================"
|
||||
echo "PLM 솔루션 - 프론트엔드 (Next.js) 시작"
|
||||
echo "============================================"
|
||||
|
||||
echo ""
|
||||
echo "1. Docker 이미지 빌드 중..."
|
||||
docker-compose -f docker/dev/docker-compose.frontend.mac.yml build
|
||||
|
||||
echo ""
|
||||
echo "2. 기존 프론트엔드 컨테이너 정리 중..."
|
||||
docker-compose -f docker/dev/docker-compose.frontend.mac.yml down -v
|
||||
|
||||
echo ""
|
||||
echo "3. Docker 네트워크 생성 중..."
|
||||
docker network create pms-network 2>/dev/null || echo "네트워크가 이미 존재합니다."
|
||||
|
||||
echo ""
|
||||
echo "4. 프론트엔드 컨테이너 시작 중..."
|
||||
docker-compose -f docker/dev/docker-compose.frontend.mac.yml up -d
|
||||
|
||||
echo ""
|
||||
echo "5. 서비스 상태 확인 중..."
|
||||
sleep 8
|
||||
|
||||
echo ""
|
||||
echo "============================================"
|
||||
echo "프론트엔드 서비스가 시작되었습니다!"
|
||||
echo "============================================"
|
||||
echo ""
|
||||
echo "[FRONTEND] Next.js: http://localhost:9771"
|
||||
echo ""
|
||||
echo "💡 백엔드 API가 필요하므로 백엔드도 실행되어 있는지 확인하세요."
|
||||
echo ""
|
||||
echo "상태 확인: docker-compose -f docker/dev/docker-compose.frontend.mac.yml ps"
|
||||
echo "로그 확인: docker-compose -f docker/dev/docker-compose.frontend.mac.yml logs -f"
|
||||
echo "중지하기: docker-compose -f docker/dev/docker-compose.frontend.mac.yml down"
|
||||
echo ""
|
||||
echo "============================================"
|
||||
|
||||
read -p "계속하려면 아무 키나 누르세요..."
|
||||
146
scripts/prod/start-all-linux.sh
Normal file
146
scripts/prod/start-all-linux.sh
Normal file
@@ -0,0 +1,146 @@
|
||||
#!/bin/bash
|
||||
|
||||
echo "============================================"
|
||||
echo "PLM 솔루션 - 전체 서비스 시작 (분리형) - Linux"
|
||||
echo "============================================"
|
||||
|
||||
echo ""
|
||||
echo "🚀 백엔드와 프론트엔드를 순차적으로 시작합니다..."
|
||||
echo ""
|
||||
|
||||
# 시스템 정보 출력
|
||||
echo "시스템 정보:"
|
||||
echo " OS: $(uname -s)"
|
||||
echo " Architecture: $(uname -m)"
|
||||
echo " Kernel: $(uname -r)"
|
||||
echo ""
|
||||
|
||||
# Docker 및 Docker Compose 버전 확인
|
||||
echo "Docker 환경 확인:"
|
||||
docker --version 2>/dev/null || echo " ❌ Docker가 설치되지 않았습니다."
|
||||
docker-compose --version 2>/dev/null || echo " ❌ Docker Compose가 설치되지 않았습니다."
|
||||
echo ""
|
||||
|
||||
# 기존 컨테이너 정리
|
||||
echo "============================================"
|
||||
echo "0. 기존 서비스 정리 중..."
|
||||
echo "============================================"
|
||||
|
||||
# 기존 컨테이너 중지 및 제거 (무시하고 계속)
|
||||
docker-compose -f docker/prod/docker-compose.backend.prod.yml down -v 2>/dev/null || true
|
||||
docker-compose -f docker/prod/docker-compose.frontend.prod.yml down -v 2>/dev/null || true
|
||||
|
||||
# 사용하지 않는 이미지 정리
|
||||
echo "사용하지 않는 Docker 이미지 정리 중..."
|
||||
docker image prune -f 2>/dev/null || true
|
||||
|
||||
# 백엔드 먼저 시작
|
||||
echo ""
|
||||
echo "============================================"
|
||||
echo "1. 백엔드 서비스 시작 중..."
|
||||
echo "============================================"
|
||||
|
||||
# 네트워크 생성 (존재하지 않는 경우)
|
||||
docker network create pms-network 2>/dev/null || echo "네트워크가 이미 존재합니다."
|
||||
|
||||
# 백엔드 빌드 및 시작
|
||||
echo "백엔드 이미지 빌드 중..."
|
||||
docker-compose -f docker/prod/docker-compose.backend.prod.yml build --no-cache
|
||||
|
||||
echo "백엔드 서비스 시작 중..."
|
||||
docker-compose -f docker/prod/docker-compose.backend.prod.yml up -d
|
||||
|
||||
echo ""
|
||||
echo "⏳ 백엔드 서비스 안정화 대기 중... (30초)"
|
||||
sleep 30
|
||||
|
||||
# 백엔드 상태 확인
|
||||
echo "백엔드 서비스 상태 확인:"
|
||||
docker-compose -f docker/prod/docker-compose.backend.prod.yml ps
|
||||
|
||||
# 프론트엔드 시작
|
||||
echo ""
|
||||
echo "============================================"
|
||||
echo "2. 프론트엔드 서비스 시작 중..."
|
||||
echo "============================================"
|
||||
|
||||
echo "프론트엔드 이미지 빌드 중..."
|
||||
docker-compose -f docker/prod/docker-compose.frontend.prod.yml build --no-cache
|
||||
|
||||
echo "프론트엔드 서비스 시작 중..."
|
||||
docker-compose -f docker/prod/docker-compose.frontend.prod.yml up -d
|
||||
|
||||
echo ""
|
||||
echo "⏳ 프론트엔드 서비스 안정화 대기 중... (15초)"
|
||||
sleep 15
|
||||
|
||||
# 프론트엔드 상태 확인
|
||||
echo "프론트엔드 서비스 상태 확인:"
|
||||
docker-compose -f docker/prod/docker-compose.frontend.prod.yml ps
|
||||
|
||||
echo ""
|
||||
echo "============================================"
|
||||
echo "🎉 모든 서비스가 시작되었습니다!"
|
||||
echo "============================================"
|
||||
echo ""
|
||||
echo "📊 서비스 접속 정보:"
|
||||
echo " [DATABASE] PostgreSQL: http://39.117.244.52:11132"
|
||||
echo " [BACKEND] Spring Boot: http://localhost:8080/api"
|
||||
echo " [FRONTEND] Next.js: http://localhost:5555"
|
||||
echo ""
|
||||
echo "🔧 관리 명령어:"
|
||||
echo " 서비스 상태 확인:"
|
||||
echo " 백엔드: docker-compose -f docker/prod/docker-compose.backend.prod.yml ps"
|
||||
echo " 프론트엔드: docker-compose -f docker/prod/docker-compose.frontend.prod.yml ps"
|
||||
echo " 전체: docker ps"
|
||||
echo ""
|
||||
echo " 로그 확인:"
|
||||
echo " 백엔드: docker-compose -f docker/prod/docker-compose.backend.prod.yml logs -f"
|
||||
echo " 프론트엔드: docker-compose -f docker/prod/docker-compose.frontend.prod.yml logs -f"
|
||||
echo " 실시간: docker-compose -f docker/prod/docker-compose.backend.prod.yml -f docker-compose.frontend.linux.yml logs -f"
|
||||
echo ""
|
||||
echo " 서비스 중지:"
|
||||
echo " 백엔드: docker-compose -f docker/prod/docker-compose.backend.prod.yml down"
|
||||
echo " 프론트엔드: docker-compose -f docker/prod/docker-compose.frontend.prod.yml down"
|
||||
echo " 전체: ./stop-all-linux.sh"
|
||||
echo ""
|
||||
echo " 시스템 모니터링:"
|
||||
echo " Docker 상태: docker system df"
|
||||
echo " 리소스 사용: docker stats"
|
||||
echo ""
|
||||
echo "============================================"
|
||||
|
||||
# 서비스 헬스체크
|
||||
echo ""
|
||||
echo "🏥 서비스 헬스체크 수행 중..."
|
||||
echo ""
|
||||
|
||||
# 백엔드 헬스체크 (최대 60초 대기)
|
||||
echo "백엔드 헬스체크..."
|
||||
for i in {1..12}; do
|
||||
if curl -s http://localhost:8080/actuator/health >/dev/null 2>&1; then
|
||||
echo " ✅ 백엔드 서비스 정상"
|
||||
break
|
||||
else
|
||||
echo " ⏳ 백엔드 응답 대기 중... ($i/12)"
|
||||
sleep 5
|
||||
fi
|
||||
done
|
||||
|
||||
# 프론트엔드 헬스체크 (최대 30초 대기)
|
||||
echo "프론트엔드 헬스체크..."
|
||||
for i in {1..6}; do
|
||||
if curl -s http://localhost:5555 >/dev/null 2>&1; then
|
||||
echo " ✅ 프론트엔드 서비스 정상"
|
||||
break
|
||||
else
|
||||
echo " ⏳ 프론트엔드 응답 대기 중... ($i/6)"
|
||||
sleep 5
|
||||
fi
|
||||
done
|
||||
|
||||
echo ""
|
||||
echo "🎯 시작 완료! 브라우저에서 http://localhost:5555 을 확인하세요."
|
||||
echo ""
|
||||
|
||||
read -p "계속하려면 Enter 키를 누르세요..."
|
||||
Reference in New Issue
Block a user