@@ -7,15 +7,40 @@ mkdir -p ${LOG_DIR}
77exec > >( tee -i ${LOG_DIR} /deploy.log)
88exec 2>&1
99
10- if [ -f .env ]; then
11- export $( grep -v ' ^#' .env | xargs)
12- fi
13-
1410echo " Starting deployment..."
1511
1612APP_NAME=" moviezip-app"
1713IMAGE_NAME=" moviezip-server:latest"
1814
15+ # .env 파일이 있으면 읽어오기
16+ ENV_FILE=" /home/ec2-user/app/.env"
17+ if [ -f ${ENV_FILE} ]; then
18+ echo " Loading environment variables from ${ENV_FILE} "
19+ export $( grep -v ' ^#' ${ENV_FILE} | xargs)
20+ fi
21+
22+ # 필수 환경변수 기본값 (GitHub Actions에서 안 줘도 fail 방지)
23+ : " ${SPRING_PROFILES_ACTIVE:= prod} "
24+ : " ${DB_URL:= jdbc: oracle: thin:@ dblab.dongduk.ac.kr: 1521/ orclpdb} "
25+ : " ${DB_USERNAME:= ss240205} "
26+ : " ${DB_PASSWORD:= ss240205ss} "
27+ : " ${MONGODB_URI:= mongodb:// moviezip-mongo: 27017/ movieZip} "
28+ : " ${REDIS_HOST:= redis} "
29+ : " ${REDIS_PORT:= 6379} "
30+ : " ${JWT_SECRET:= VlwEyVBsYt9V7zq57TejMnVUyzblYcfPQye08f7MGVA9XkHa} "
31+
32+ # 환경변수 확인
33+ echo " === Environment Variables ==="
34+ echo " SPRING_PROFILES_ACTIVE=${SPRING_PROFILES_ACTIVE} "
35+ echo " DB_URL=${DB_URL} "
36+ echo " DB_USERNAME=${DB_USERNAME} "
37+ echo " DB_PASSWORD=${DB_PASSWORD} "
38+ echo " MONGODB_URI=${MONGODB_URI} "
39+ echo " REDIS_HOST=${REDIS_HOST} "
40+ echo " REDIS_PORT=${REDIS_PORT} "
41+ echo " JWT_SECRET=${JWT_SECRET} "
42+ echo " ============================="
43+
1944# Docker 빌드
2045echo " Building Docker image..."
2146docker build -t ${IMAGE_NAME} /home/ec2-user/app
4368 echo " Deploying Green..."
4469fi
4570
46- # 이전 컨테이너 종료 (존재하면 Exited 포함)
71+ # 이전 컨테이너 종료
4772STOP_CONTAINER=$( docker ps -a -q -f name=${STOP_NAME} )
4873if [ -n " $STOP_CONTAINER " ]; then
4974 echo " Stopping old container: ${STOP_NAME} "
50- docker ps -a -f name=$STOP_NAME # 삭제 전 확인용 로그
75+ docker ps -a -f name=$STOP_NAME
5176 docker rm -f $STOP_CONTAINER || true
5277fi
5378
54- # 환경변수 값 확인 (배포 전)
55- echo " === Environment Variables ==="
56- echo " SPRING_PROFILES_ACTIVE=${SPRING_PROFILES_ACTIVE} "
57- echo " DB_URL=${DB_URL} "
58- echo " DB_USERNAME=${DB_USERNAME} "
59- echo " DB_PASSWORD=${DB_PASSWORD} "
60- echo " MONGODB_URI=${MONGODB_URI} "
61- echo " REDIS_HOST=${REDIS_HOST} "
62- echo " REDIS_PORT=${REDIS_PORT} "
63- echo " JWT_SECRET=${JWT_SECRET} "
64- echo " ============================="
65-
66- # 새 컨테이너 실행 (GitHub Actions에서 환경변수 주입)
79+ # 새 컨테이너 실행
6780docker run -d --name ${DEPLOY_NAME} -p ${DEPLOY_PORT} :8080 \
6881 -e SPRING_PROFILES_ACTIVE=${SPRING_PROFILES_ACTIVE} \
6982 -e DB_URL=${DB_URL} \
0 commit comments