68 lines
1.8 KiB
Bash
Executable File
68 lines
1.8 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/uploads
|
|
mkdir -p /home/vexplor/backend_data/data
|
|
mkdir -p /home/vexplor/frontend_data
|
|
|
|
# node 유저(UID 1000)와 동일한 소유권 설정
|
|
chown -R 1000:1000 /home/vexplor/backend_data
|
|
chown -R 1001:1001 /home/vexplor/frontend_data
|
|
chmod -R 755 /home/vexplor/backend_data
|
|
chmod -R 755 /home/vexplor/frontend_data
|
|
echo "볼륨 마운트 디렉토리 생성 완료 (node 유저 권한 부여)"
|
|
|
|
# 기존 컨테이너 중지 및 제거
|
|
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 ""
|