#!/bin/bash # Reviewer 역할 검증 스크립트 # 사용법: ./verification-commands.sh set -e echo "=== Reviewer 역할 검증 시작 ===" echo "" # 1. 코드 품질 검증 echo "[1/5] 코드 품질 검증" echo "-------------------------------" mvn compile -q && echo "✅ 컴파일 성공" || echo "❌ 컴파일 실패" mvn checkstyle:check -q && echo "✅ Checkstyle 통과" || echo "❌ Checkstyle 위반" mvn pmd:check -q && echo "✅ PMD 통과" || echo "❌ PMD 위반" echo "" # 2. 단위 테스트 echo "[2/5] 단위 테스트 실행" echo "-------------------------------" mvn test -Dtest=ReviewerRoleTest -q && echo "✅ 테스트 성공" || echo "❌ 테스트 실패" echo "" # 3. 테스트 커버리지 echo "[3/5] 테스트 커버리지 분석" echo "-------------------------------" mvn jacoco:report -q COVERAGE=$(grep -oP 'Total.*?\K\d+(?=%)' target/site/jacoco/index.html 2>/dev/null || echo "N/A") echo "✅ 커버리지: ${COVERAGE}%" echo "" # 4. CI 검증 echo "[4/5] CI 파이프라인 검증" echo "-------------------------------" mvn verify -Pci -q && echo "✅ CI 검증 성공" || echo "❌ CI 검증 실패" echo "" # 5. 정적 분석 echo "[5/5] 정적 분석 실행" echo "-------------------------------" mvn sonar:sonar -Dsonar.host.url=http://localhost:9000 -q 2>/dev/null && echo "✅ SonarQube 분석 완료" || echo "⚠️ SonarQube 연결 불가" echo "" echo "=== 검증 완료 ===" echo "" echo "상세 보고서 확인:" echo " - docs/reviewer-verification-report.md" echo " - docs/reviewer-verification-checklist.json" echo " - target/site/jacoco/index.html (커버리지)" echo " - target/site/checkstyle.html (체크스타일)" echo " - target/site/pmd.html (PMD)"