File tree Expand file tree Collapse file tree 2 files changed +140
-9
lines changed
Expand file tree Collapse file tree 2 files changed +140
-9
lines changed Original file line number Diff line number Diff line change 1+ #! /bin/bash
2+ # 스크립트 권한: chmod +x run.sh
3+
4+ # 색상 정의
5+ GREEN=' \033[0;32m'
6+ RED=' \033[0;31m'
7+ NC=' \033[0m' # No Color
8+ YELLOW=' \033[1;33m'
9+
10+ # 에러 핸들링 함수
11+ handle_error () {
12+ echo -e " ${RED} Error occurred in script at line $1 ${NC} " >&2
13+ exit 1
14+ }
15+
16+ # 에러 발생시 handle_error 함수 호출
17+ trap ' handle_error $LINENO' ERR
18+
19+ # 진행상황 출력 함수
20+ print_step () {
21+ echo -e " \n${GREEN} ===================================${NC} "
22+ echo -e " ${YELLOW} $1 ${NC} "
23+ echo -e " ${GREEN} ===================================${NC} "
24+ }
25+
26+ # Docker 설치 확인
27+ check_docker () {
28+ if ! command -v docker & > /dev/null; then
29+ echo -e " ${RED} Docker가 설치되어 있지 않습니다.${NC} "
30+ exit 1
31+ fi
32+ }
33+
34+ # 사용자 확인
35+ confirm_action () {
36+ echo -e " ${RED} Warning: This will remove all unused Docker images and system resources.${NC} "
37+ echo -e " ${YELLOW} Are you sure you want to continue? (y/N)${NC} "
38+ read -r response
39+ if [[ ! " $response " =~ ^[Yy]$ ]]; then
40+ echo " Operation cancelled."
41+ exit 0
42+ fi
43+ }
44+
45+ # Docker 정리 작업 수행
46+ perform_cleanup () {
47+ print_step " 1. Removing all unused Docker images..."
48+ docker image prune -af
49+
50+ print_step " 2. Performing system cleanup..."
51+ docker system prune -af --volumes
52+
53+ print_step " Cleanup completed successfully!"
54+
55+ # 정리 후 상태 표시
56+ echo -e " \n${GREEN} Current Docker status:${NC} "
57+ docker system df
58+ }
59+
60+ # 메인 실행 로직
61+ main () {
62+ set -e # 스크립트 실행 중 오류 발생 시 종료
63+
64+ check_docker
65+ confirm_action
66+ perform_cleanup
67+ }
68+
69+ # 스크립트 실행
70+ main
Original file line number Diff line number Diff line change 1- # chmod +x run.sh
1+ #! /bin/bash
2+ # 스크립트 권한: chmod +x run.sh
23
3- set -e # 스크립트 실행 중 오류 발생 시 종료
4+ # 색상 정의
5+ GREEN=' \033[0;32m'
6+ RED=' \033[0;31m'
7+ NC=' \033[0m' # No Color
8+ YELLOW=' \033[1;33m'
49
5- echo " 1. 외부 이미지 업데이트 (fe, nginx)..."
6- docker compose pull fe nginx
10+ # 에러 핸들링 함수
11+ handle_error () {
12+ echo -e " ${RED} Error occurred in script at line $1 ${NC} " >&2
13+ exit 1
14+ }
715
8- echo " 2. 로컬 이미지 빌드 (api)... "
9- docker compose build api
16+ # 에러 발생시 handle_error 함수 호출
17+ trap ' handle_error $LINENO ' ERR
1018
11- echo " 3. 서비스 재시작..."
12- docker compose up -d
19+ # 진행상황 출력 함수
20+ print_step () {
21+ echo -e " \n${GREEN} ===================================${NC} "
22+ echo -e " ${YELLOW} $1 ${NC} "
23+ echo -e " ${GREEN} ===================================${NC} "
24+ }
1325
14- echo " 모든 작업이 완료되었습니다!"
26+ # Docker 설치 확인
27+ check_docker () {
28+ if ! command -v docker & > /dev/null; then
29+ echo -e " ${RED} Docker가 설치되어 있지 않습니다.${NC} "
30+ exit 1
31+ fi
32+ }
33+
34+ # 서비스 중지
35+ stop_services () {
36+ print_step " 0. 현재 사용 중 이미지 stop, down"
37+ docker compose stop || true
38+ docker compose down || true
39+ }
40+
41+ # 이미지 업데이트
42+ update_images () {
43+ print_step " 1. 외부 이미지 업데이트 (fe, nginx)..."
44+ docker compose pull fe nginx
45+ }
46+
47+ # API 빌드
48+ build_api () {
49+ print_step " 2. 로컬 이미지 빌드 (api)..."
50+ docker compose build api
51+ }
52+
53+ # 서비스 시작
54+ start_services () {
55+ print_step " 3. 서비스 재시작..."
56+ docker compose up -d
57+ }
58+
59+ # 메인 실행 로직
60+ main () {
61+ set -e # 스크립트 실행 중 오류 발생 시 종료
62+
63+ check_docker
64+ stop_services
65+ update_images
66+ build_api
67+ start_services
68+
69+ print_step " 모든 작업이 완료되었습니다! 로그 모니터링을 시작합니다."
70+ sleep 1
71+ docker compose logs -f
72+ }
73+
74+ # 스크립트 실행
75+ main
You can’t perform that action at this time.
0 commit comments