File tree Expand file tree Collapse file tree 6 files changed +48
-18
lines changed
Expand file tree Collapse file tree 6 files changed +48
-18
lines changed Original file line number Diff line number Diff line change 6969 mkdir deploy
7070 cp ./docker/docker-compose.blue.yml ./deploy/
7171 cp ./docker/docker-compose.green.yml ./deploy/
72+ cp ./docker/docker-compose.redis.yml ./deploy/
7273 cp ./appspec.yml ./deploy/
7374 cp ./docker/Dockerfile ./deploy/
7475 cp ./scripts/*.sh ./deploy/
Original file line number Diff line number Diff line change @@ -43,4 +43,7 @@ src/main/resources/application.properties
4343src /main /resources /application.yml
4444
4545# .github/ISSUE_TEMPLATE 디렉터리 안의 YAML 파일 제외
46- ! ** /.github /ISSUE_TEMPLATE /* .yml
46+ ! ** /.github /ISSUE_TEMPLATE /* .yml
47+
48+ # docker-compose.yml 제외
49+ ! ** /docker /* .yml
Original file line number Diff line number Diff line change @@ -14,16 +14,10 @@ services:
1414 # 환경변수 - 한국 시간 설정
1515 environment :
1616 - TZ=Asia/Seoul
17- - SPRING_DATA_REDIS_HOST=redis-blue
17+ - SPRING_DATA_REDIS_HOST=redis
1818 - SPRING_DATA_REDIS_PORT=6379
19- depends_on :
20- - redis
2119 stop_grace_period : 10s
22- redis :
23- image : redis
24- container_name : redis-blue
25- ports :
26- - " 6380:6379"
20+
2721networks :
2822 default :
2923 external : true
Original file line number Diff line number Diff line change @@ -9,16 +9,10 @@ services:
99 container_name : spring-green
1010 environment :
1111 - TZ=Asia/Seoul
12- - SPRING_DATA_REDIS_HOST=redis-green
12+ - SPRING_DATA_REDIS_HOST=redis
1313 - SPRING_DATA_REDIS_PORT=6379
14- depends_on :
15- - redis
1614 stop_grace_period : 10s
17- redis :
18- image : redis
19- container_name : redis-green
20- ports :
21- - " 6381:6379"
15+
2216networks :
2317 default :
2418 external : true
Original file line number Diff line number Diff line change 1+ version : " 3.8"
2+
3+ services :
4+ redis :
5+ image : redis:latest
6+ container_name : redis
7+ ports :
8+ - " 6379:6379"
9+ volumes :
10+ - redis-data:/data
11+
12+ networks :
13+ default :
14+ external : true
15+ name : app-network
16+
17+ volumes :
18+ redis-data :
Original file line number Diff line number Diff line change @@ -5,15 +5,35 @@ cd /home/ubuntu/app
55
66# 환경변수 DOCKER_APP_NAME을 spring으로 설정
77DOCKER_APP_NAME=spring
8-
98# 네트워크 존재 여부 확인 및 생성
109NETWORK_NAME=" app-network"
10+ # redis container명
11+ REDIS_CONTAINER_NAME=" redis"
1112
1213if ! sudo docker network ls | grep -q " $NETWORK_NAME " ; then
1314 echo " Docker 네트워크가 없습니다. $NETWORK_NAME 를 생성합니다."
1415 sudo docker network create $NETWORK_NAME
1516fi
1617
18+ # Redis 컨테이너가 실행 중인지 확인
19+ IS_REDIS_RUNNING=$( sudo docker ps --filter " name=${REDIS_CONTAINER_NAME} " --filter " status=running" -q)
20+
21+ # Redis 컨테이너가 없거나 꺼져 있으면 redis-compose로 실행
22+ if [ -z " $IS_REDIS_RUNNING " ]; then
23+ echo " Redis 실행 : $( date +%Y) -$( date +%m) -$( date +%d) $( date +%H) :$( date +%M) :$( date +%S) " >> /home/ubuntu/deploy.log
24+ sudo docker-compose -f docker-compose.redis.yml up -d
25+
26+ # 재확인
27+ sleep 3
28+ IS_REDIS_RUNNING=$( sudo docker ps --filter " name=${REDIS_CONTAINER_NAME} " --filter " status=running" -q)
29+ if [ -z " $IS_REDIS_RUNNING " ]; then
30+ echo " 배포 중단 - Redis 컨테이너 실행 실패 : $( date +%Y) -$( date +%m) -$( date +%d) $( date +%H) :$( date +%M) :$( date +%S) " >> /home/ubuntu/deploy.log
31+ exit 1
32+ fi
33+ fi
34+
35+ echo " Redis 상태: $( sudo docker ps -a --filter name=redis --format ' {{.Status}}' ) " >> /home/ubuntu/deploy.log
36+
1737# 실행중인 blue가 있는지 확인
1838# 프로젝트의 실행 중인 컨테이너를 확인하고, 해당 컨테이너가 실행 중인지 여부를 EXIST_BLUE 변수에 저장
1939EXIST_BLUE=$( sudo docker-compose -p ${DOCKER_APP_NAME} -blue -f docker-compose.blue.yml ps | grep Up)
You can’t perform that action at this time.
0 commit comments