@@ -33,11 +33,12 @@ check_docker() {
3333
3434#  서비스 중지
3535stop_services () {
36-  print_step " 0. 현재 사용 중 이미지 stop, down " 
36+  print_step " 0. 현재 사용 중인 서비스 중지 " 
3737 docker compose stop ||  true 
3838 docker compose down ||  true 
3939}
4040
41+ #  Docker 리소스 정리
4142cleanup_docker () {
4243 print_step " 0.5. 사용하지 않는 Docker 리소스 정리" 
4344
@@ -53,37 +54,82 @@ cleanup_docker() {
5354 echo  -e " ${GREEN} Docker 정리 완료${NC} " 
5455}
5556
56- #  이미지 업데이트
57+ #  모든  이미지 업데이트 (API 포함) 
5758update_images () {
58-  print_step " 1. 외부 이미지 업데이트 (fe, nginx)..." 
59-  docker compose pull fe nginx
60- }
61- 
62- #  API 빌드
63- build_api () {
64-  print_step " 2. 로컬 이미지 빌드 (api)..." 
65-  docker compose build api
59+  print_step " 1. Docker Hub에서 최신 이미지 다운로드 중..." 
60+  
61+  #  모든 서비스의 이미지를 Docker Hub에서 최신 버전으로 pull
62+  docker compose pull
63+  
64+  echo  -e " ${GREEN} 모든 이미지 업데이트 완료${NC} " 
6665}
6766
6867#  서비스 시작
6968start_services () {
70-  print_step " 3 . 서비스 재시작 ..." 
69+  print_step " 2 . 서비스 시작 중 ..." 
7170 docker compose up -d
71+  
72+  echo  -e " ${GREEN} 모든 서비스가 시작되었습니다${NC} " 
73+ }
74+ 
75+ #  서비스 상태 확인
76+ check_services () {
77+  print_step " 3. 서비스 상태 확인" 
78+  
79+  #  잠시 대기 (서비스 시작 시간 확보)
80+  sleep 5
81+  
82+  #  실행 중인 컨테이너 확인
83+  echo  -e " ${YELLOW} 실행 중인 컨테이너:${NC} " 
84+  docker compose ps
85+  
86+  #  각 서비스 헬스체크
87+  echo  -e " \n${YELLOW} 서비스 헬스체크:${NC} " 
88+  
89+  #  API 서비스 확인
90+  if  curl -f http://localhost:8080/health & > /dev/null;  then 
91+  echo  -e " ✅ API 서비스: ${GREEN} 정상${NC} " 
92+  else 
93+  echo  -e " ❌ API 서비스: ${RED} 응답 없음${NC} " 
94+  fi 
95+  
96+  #  Frontend 서비스 확인 (포트 3000)
97+  if  curl -f http://localhost:3000 & > /dev/null;  then 
98+  echo  -e " ✅ Frontend 서비스: ${GREEN} 정상${NC} " 
99+  else 
100+  echo  -e " ❌ Frontend 서비스: ${RED} 응답 없음${NC} " 
101+  fi 
102+  
103+  #  Nginx 서비스 확인 (포트 80)
104+  if  curl -f http://localhost & > /dev/null;  then 
105+  echo  -e " ✅ Nginx 서비스: ${GREEN} 정상${NC} " 
106+  else 
107+  echo  -e " ❌ Nginx 서비스: ${RED} 응답 없음${NC} " 
108+  fi 
72109}
73110
74111#  메인 실행 로직
75112main () {
76113 set  -e #  스크립트 실행 중 오류 발생 시 종료
77114
115+  print_step " Velog Dashboard V2 배포 스크립트 시작" 
116+  
78117 check_docker
79118 stop_services
80119 cleanup_docker
81120 update_images
82-  build_api
83121 start_services
122+  check_services
84123
85-  print_step " 모든 작업이 완료되었습니다! 로그 모니터링을 시작합니다." 
86-  sleep 1
124+  print_step " 🎉 모든 작업이 완료되었습니다!" 
125+  echo  -e " ${GREEN} 서비스 접속 정보:${NC} " 
126+  echo  -e " • 메인 사이트: ${YELLOW} http://localhost${NC} " 
127+  echo  -e " • API 서버: ${YELLOW} http://localhost:8080${NC} " 
128+  echo  -e " • Frontend: ${YELLOW} http://localhost:3000${NC} " 
129+  echo  -e " • API Health Check: ${YELLOW} http://localhost:8080/health${NC} " 
130+  
131+  echo  -e " \n${YELLOW} 로그 모니터링을 시작합니다... (Ctrl+C로 종료)${NC} " 
132+  sleep 2
87133 docker compose logs -f
88134}
89135
0 commit comments