#!/bin/bash # 전환 결과 검증 스크립트 # 사용법: ./run_verification.sh set -e REPORT_DATE=$(date '+%Y-%m-%d %H:%M:%S') REPORT_FILE="verification_report_$(date '+%Y%m%d_%H%M%S').txt" echo "==========================================" > "$REPORT_FILE" echo "전환 결과 검증 보고서" >> "$REPORT_FILE" echo "실행 일시: $REPORT_DATE" >> "$REPORT_FILE" echo "==========================================" >> "$REPORT_FILE" echo "" >> "$REPORT_FILE" # 1. 산출물 검증 echo "[1] 산출물 검증" >> "$REPORT_FILE" echo "----------------------------------------" >> "$REPORT_FILE" # 소스 코드 구조 확인 if [ -d "src/main/java" ]; then echo "✓ 소스 코드 디렉토리 존재" >> "$REPORT_FILE" else echo "✗ 소스 코드 디렉토리 없음" >> "$REPORT_FILE" fi # 의존성 파일 확인 if [ -f "pom.xml" ] || [ -f "build.gradle" ]; then echo "✓ 빌드 설정 파일 존재" >> "$REPORT_FILE" else echo "✗ 빌드 설정 파일 없음" >> "$REPORT_FILE" fi echo "" >> "$REPORT_FILE" # 2. 테스트 검증 echo "[2] 테스트 검증" >> "$REPORT_FILE" echo "----------------------------------------" >> "$REPORT_FILE" # 테스트 디렉토리 확인 if [ -d "src/test/java" ]; then TEST_COUNT=$(find src/test/java -name "*Test.java" 2>/dev/null | wc -l) echo "✓ 테스트 파일 수: $TEST_COUNT" >> "$REPORT_FILE" else echo "✗ 테스트 디렉토리 없음" >> "$REPORT_FILE" fi echo "" >> "$REPORT_FILE" # 3. CI/CD 검증 echo "[3] CI/CD 검증" >> "$REPORT_FILE" echo "----------------------------------------" >> "$REPORT_FILE" # CI 설정 파일 확인 if [ -f ".github/workflows/ci.yml" ] || [ -f ".gitlab-ci.yml" ] || [ -f "Jenkinsfile" ]; then echo "✓ CI/CD 설정 파일 존재" >> "$REPORT_FILE" else echo "⚠ CI/CD 설정 파일 없음 (수동 검증 필요)" >> "$REPORT_FILE" fi echo "" >> "$REPORT_FILE" # 4. 운영 리스크 검증 echo "[4] 운영 리스크 검증" >> "$REPORT_FILE" echo "----------------------------------------" >> "$REPORT_FILE" # 모니터링 설정 확인 if [ -d "monitoring" ] || [ -f "prometheus.yml" ] || [ -f "grafana-dashboard.json" ]; then echo "✓ 모니터링 설정 존재" >> "$REPORT_FILE" else echo "⚠ 모니터링 설정 없음 (수동 검증 필요)" >> "$REPORT_FILE" fi echo "" >> "$REPORT_FILE" echo "==========================================" >> "$REPORT_FILE" echo "검증 완료" >> "$REPORT_FILE" echo "==========================================" >> "$REPORT_FILE" cat "$REPORT_FILE" echo "" echo "상세 보고서: $REPORT_FILE"