@@ -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