kt-event-marketing/run-content-service.sh
merrycoral 336d811f55 content-service 통합 테스트 완료 및 보고서 작성
- content-service HTTP 통신 테스트 완료 (9개 시나리오 성공)
- Job 관리 메커니즘 검증 (Redis 기반)
- EventId 기반 콘텐츠 조회 및 필터링 테스트
- 이미지 재생성 기능 검증
- Kafka 연동 현황 분석 (Consumer 미구현 확인)
- 통합 테스트 결과 보고서 작성
- 테스트 자동화 스크립트 추가

테스트 성공률: 100% (9/9)
응답 성능: < 150ms

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-30 01:24:29 +09:00

81 lines
2.6 KiB
Bash

#!/bin/bash
# Content Service 실행 스크립트
# Port: 8084
# Context Path: /api/v1/content
SERVICE_NAME="content-service"
PORT=8084
LOG_DIR="logs"
LOG_FILE="${LOG_DIR}/${SERVICE_NAME}.log"
# 로그 디렉토리 생성
mkdir -p ${LOG_DIR}
# 환경 변수 설정
export SERVER_PORT=8084
export REDIS_HOST=20.214.210.71
export REDIS_PORT=6379
export REDIS_PASSWORD=Hi5Jessica!
export REDIS_DATABASE=0
export JWT_SECRET=kt-event-marketing-jwt-secret-key-for-authentication-and-authorization-2025
export JWT_ACCESS_TOKEN_VALIDITY=3600000
export JWT_REFRESH_TOKEN_VALIDITY=604800000
# Azure Blob Storage
export AZURE_STORAGE_CONNECTION_STRING="DefaultEndpointsProtocol=https;AccountName=blobkteventstorage;AccountKey=tcBN7mAfojbl0uGsOpU7RNuKNhHnzmwDiWjN31liSMVSrWaEK+HHnYKZrjBXXAC6ZPsuxUDlsf8x+AStd++QYg==;EndpointSuffix=core.windows.net"
export AZURE_CONTAINER_NAME=content-images
# CORS
export CORS_ALLOWED_ORIGINS="http://localhost:8080,http://localhost:8081,http://localhost:8082,http://localhost:8083,http://localhost:8084,http://kt-event-marketing.20.214.196.128.nip.io"
export CORS_ALLOWED_METHODS="GET,POST,PUT,DELETE,OPTIONS,PATCH"
export CORS_ALLOWED_HEADERS="*"
export CORS_ALLOW_CREDENTIALS=true
export CORS_MAX_AGE=3600
# Logging
export LOG_LEVEL_APP=DEBUG
export LOG_LEVEL_WEB=INFO
export LOG_LEVEL_ROOT=INFO
export LOG_FILE_PATH="${LOG_FILE}"
export LOG_FILE_MAX_SIZE=10MB
export LOG_FILE_MAX_HISTORY=7
export LOG_FILE_TOTAL_CAP=100MB
echo "=================================================="
echo "Content Service 시작"
echo "=================================================="
echo "포트: ${PORT}"
echo "로그 파일: ${LOG_FILE}"
echo "Context Path: /api/v1/content"
echo "=================================================="
# 기존 프로세스 확인
if netstat -ano | grep -q ":${PORT}.*LISTENING"; then
echo "⚠️ 포트 ${PORT}가 이미 사용 중입니다."
echo "기존 프로세스를 종료하시겠습니까? (y/n)"
read -r answer
if [ "$answer" = "y" ]; then
PID=$(netstat -ano | grep ":${PORT}.*LISTENING" | awk '{print $5}' | head -1)
taskkill //F //PID ${PID}
sleep 2
else
echo "서비스 시작을 취소합니다."
exit 1
fi
fi
# 서비스 시작
echo "서비스를 시작합니다..."
nohup ./gradlew ${SERVICE_NAME}:bootRun > ${LOG_FILE} 2>&1 &
SERVICE_PID=$!
echo "✅ Content Service가 시작되었습니다."
echo "PID: ${SERVICE_PID}"
echo "로그 확인: tail -f ${LOG_FILE}"
echo ""
echo "Health Check: curl http://localhost:${PORT}/api/v1/content/actuator/health"
echo ""
echo "서비스 종료: kill ${SERVICE_PID}"
echo "=================================================="