Skip to content

Commit bcdc88f

Browse files
committed
fix:ci-cd docker run 명령어 실행 오류 수정
1 parent c31068b commit bcdc88f

1 file changed

Lines changed: 11 additions & 26 deletions

File tree

.github/workflows/cicd.yml

Lines changed: 11 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)