Skip to content

Commit 9157839

Browse files
authored
Merge pull request #319 from Podo-Store/develop
fix: redis container 실행 환경 변경(#317)
2 parents 2803b16 + 8eeb886 commit 9157839

File tree

6 files changed

+48
-18
lines changed

6 files changed

+48
-18
lines changed

.github/workflows/deploy.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,7 @@ jobs:
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/

.gitignore

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,4 +43,7 @@ src/main/resources/application.properties
4343
src/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

docker/docker-compose.blue.yml

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff 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+
2721
networks:
2822
default:
2923
external: true

docker/docker-compose.green.yml

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff 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+
2216
networks:
2317
default:
2418
external: true

docker/docker-compose.redis.yml

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
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:

scripts/deploy.sh

Lines changed: 21 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,15 +5,35 @@ cd /home/ubuntu/app
55

66
# 환경변수 DOCKER_APP_NAME을 spring으로 설정
77
DOCKER_APP_NAME=spring
8-
98
# 네트워크 존재 여부 확인 및 생성
109
NETWORK_NAME="app-network"
10+
# redis container명
11+
REDIS_CONTAINER_NAME="redis"
1112

1213
if ! sudo docker network ls | grep -q "$NETWORK_NAME"; then
1314
echo "Docker 네트워크가 없습니다. $NETWORK_NAME를 생성합니다."
1415
sudo docker network create $NETWORK_NAME
1516
fi
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 변수에 저장
1939
EXIST_BLUE=$(sudo docker-compose -p ${DOCKER_APP_NAME}-blue -f docker-compose.blue.yml ps | grep Up)

0 commit comments

Comments
 (0)