@@ -108,33 +108,18 @@ jobs:
108108 # 새 애플리케이션 컨테이너 실행 (host 네트워크 모드 사용)
109109 # host 네트워크를 사용하면 서버의 localhost로 포트가 노출된 다른 Docker 컨테이너에 접근 가능
110110 # MySQL, Redis, Elasticsearch, Qdrant는 모두 서버에서 Docker로 실행 중이며 포트가 호스트에 매핑되어 있음
111- docker run -d \
112- --name dodream-app \
113- --restart unless-stopped \
114- --network host \
115- -e SPRING_PROFILES_ACTIVE=prod \
116- -e SPRING_DATASOURCE_URL=${{ secrets.SPRING_DATASOURCE_URL }} \
117- -e SPRING_DATASOURCE_USERNAME=${{ secrets.MYSQL_USER }} \
118- -e SPRING_DATASOURCE_PASSWORD=${{ secrets.MYSQL_PASSWORD }} \
119- -e SPRING_DATA_REDIS_HOST=localhost \
120- -e SPRING_DATA_REDIS_PORT=6379 \
121- -e SPRING_ELASTICSEARCH_URIS=http://localhost:9200 \
122- -e QDRANT_HOST=localhost \
123- -e GOOGLE_CLIENT_ID=${{ secrets.GOOGLE_CLIENT_ID }} \
124- -e GOOGLE_CLIENT_SECRET=${{ secrets.GOOGLE_CLIENT_SECRET }} \
125- -e NAVER_CLIENT_ID=${{ secrets.NAVER_CLIENT_ID }} \
126- -e NAVER_CLIENT_SECRET=${{ secrets.NAVER_CLIENT_SECRET }} \
127- -e JWT_SECRET=${{ secrets.JWT_SECRET }} \
128- -e JWT_ACCESS_TOKEN_EXPIRATION=1800000 \
129- -e JWT_REFRESH_TOKEN_EXPIRATION=604800000 \
130- -e NCP_CLOVA_API_KEY=${{ secrets.NCP_CLOVA_API_KEY }} \
131- ${{ secrets.DOCKER_USERNAME }}/dodream-backend:latest
111+ docker run -d --name dodream-app --restart unless-stopped --network host -e SPRING_PROFILES_ACTIVE=prod -e SPRING_DATASOURCE_URL="${{ secrets.SPRING_DATASOURCE_URL }}" -e SPRING_DATASOURCE_USERNAME="${{ secrets.MYSQL_USER }}" -e SPRING_DATASOURCE_PASSWORD="${{ secrets.MYSQL_PASSWORD }}" -e SPRING_DATA_REDIS_HOST=localhost -e SPRING_DATA_REDIS_PORT=6379 -e SPRING_ELASTICSEARCH_URIS=http://localhost:9200 -e QDRANT_HOST=localhost -e GOOGLE_CLIENT_ID="${{ secrets.GOOGLE_CLIENT_ID }}" -e GOOGLE_CLIENT_SECRET="${{ secrets.GOOGLE_CLIENT_SECRET }}" -e NAVER_CLIENT_ID="${{ secrets.NAVER_CLIENT_ID }}" -e NAVER_CLIENT_SECRET="${{ secrets.NAVER_CLIENT_SECRET }}" -e JWT_SECRET="${{ secrets.JWT_SECRET }}" -e JWT_ACCESS_TOKEN_EXPIRATION=1800000 -e JWT_REFRESH_TOKEN_EXPIRATION=604800000 -e NCP_CLOVA_API_KEY="${{ secrets.NCP_CLOVA_API_KEY }}" ${{ secrets.DOCKER_USERNAME }}/dodream-backend:latest
132112
133- # 사용하지 않는 이미지 정리 (디스크 공간 확보)
134- docker image prune -af
135-
136- # 컨테이너 상태 확인
113+ # 컨테이너가 실행되었는지 확인 (이미지 정리 전에 확인)
137114 sleep 5
138- docker ps | grep dodream-app || echo "⚠️ 컨테이너가 실행되지 않았습니다"
115+ if docker ps | grep -q dodream-app; then
116+ echo "✅ 컨테이너가 성공적으로 실행되었습니다"
117+ # 사용하지 않는 dangling 이미지만 정리 (사용 중인 이미지는 보존)
118+ docker image prune -f --filter "dangling=true"
119+ else
120+ echo "⚠️ 컨테이너 실행 실패. 로그 확인:"
121+ docker logs dodream-app 2>&1 || echo "컨테이너 로그를 확인할 수 없습니다"
122+ exit 1
123+ fi
139124
140125 echo "✅ 배포 완료!"
0 commit comments