ERP-node/scripts/prod/deploy.sh

64 lines
1.5 KiB
Bash
Executable File

#!/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/6] Git 최신 코드 가져오기..."
git pull origin main
# 호스트 디렉토리 준비
echo ""
echo "[2/6] 호스트 디렉토리 준비..."
mkdir -p /home/vexplor/backend_data/data/mail-sent
mkdir -p /home/vexplor/backend_data/uploads
mkdir -p /home/vexplor/frontend_data
chmod -R 755 /home/vexplor/backend_data
chmod -R 755 /home/vexplor/frontend_data
echo "디렉토리 생성 완료"
# 기존 컨테이너 중지 및 제거
echo ""
echo "[3/6] 기존 컨테이너 중지..."
docker-compose -f "$COMPOSE_FILE" down
# 오래된 이미지 정리
echo ""
echo "[4/6] Docker 이미지 정리..."
docker image prune -f
# 새로운 이미지 빌드
echo ""
echo "[5/6] Docker 이미지 빌드..."
docker-compose -f "$COMPOSE_FILE" build --no-cache
# 컨테이너 실행
echo ""
echo "[6/6] 컨테이너 실행..."
docker-compose -f "$COMPOSE_FILE" up -d
# 배포 완료
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 ""