#!/bin/bash # PMS 운영 환경 배포 스크립트 # 사용법: ./docker/deploy/deploy.sh set -e # 프로젝트 루트로 이동 cd "$(dirname "$0")/../.." # 도커 컴포즈 파일 경로 COMPOSE_FILE="docker/deploy/docker-compose.yml" echo "======================================" echo "PMS 운영 환경 배포" echo "======================================" # Git 최신 코드 가져오기 echo "" echo "[1/4] Git 최신 코드 가져오기..." git pull origin main # 새로운 이미지 빌드 (구 컨테이너는 계속 서빙 중) echo "" echo "[2/4] Docker 이미지 빌드 (서비스 무중단)..." docker-compose -f "$COMPOSE_FILE" build # 변경된 컨테이너만 graceful 재생성 (이미지 해시 동일하면 건드리지 않음) echo "" echo "[3/4] 컨테이너 교체..." docker-compose -f "$COMPOSE_FILE" up -d # 오래된 이미지 정리 (서비스 복귀 후 후처리) echo "" echo "[4/4] Docker 이미지 정리..." docker image prune -f # 배포 완료 echo "" echo "======================================" echo "배포 완료!" echo "======================================" echo "" echo "Frontend: https://v1.vexplor.com" echo "Backend: https://api.vexplor.com" echo "" docker-compose -f "$COMPOSE_FILE" ps echo ""