Reviewer 역할 검증 보고서 smoke (runtime-role-matrix-live-20260714111146-v10-reviewer-001)
This commit is contained in:
parent
a02da921cb
commit
f53b73ae96
1 changed files with 90 additions and 0 deletions
90
docs/review/run_verification.sh
Normal file
90
docs/review/run_verification.sh
Normal file
|
|
@ -0,0 +1,90 @@
|
|||
#!/bin/bash
|
||||
# 검증 스크립트 - CI/CD 파이프라인 통합 검증
|
||||
# 실행: ./docs/review/run_verification.sh
|
||||
|
||||
set -e
|
||||
|
||||
TIMESTAMP=$(date -u +"%Y-%m-%dT%H:%M:%SZ")
|
||||
REPORT_DIR="docs/review"
|
||||
RESULTS_FILE="${REPORT_DIR}/verification_results_${TIMESTAMP}.json"
|
||||
|
||||
echo "=========================================="
|
||||
echo " 검증 스크립트 실행 시작"
|
||||
echo " 실행 시간: ${TIMESTAMP}"
|
||||
echo "=========================================="
|
||||
|
||||
# 결과 수집
|
||||
echo "{" > "${RESULTS_FILE}"
|
||||
echo " \"executionTime\": \"${TIMESTAMP}\"," >> "${RESULTS_FILE}"
|
||||
echo " \"checks\": {" >> "${RESULTS_FILE}"
|
||||
|
||||
# 1. Maven 빌드 검증
|
||||
echo " Checking Maven build..."
|
||||
if mvn clean compile -q -DskipTests 2>&1 | tee /tmp/build.log; then
|
||||
BUILD_STATUS="passed"
|
||||
echo " \"mavenBuild\": {\"status\": \"passed\"}," >> "${RESULTS_FILE}"
|
||||
else
|
||||
BUILD_STATUS="failed"
|
||||
echo " \"mavenBuild\": {\"status\": \"failed\"}," >> "${RESULTS_FILE}"
|
||||
fi
|
||||
|
||||
# 2. 단위 테스트
|
||||
echo " Running unit tests..."
|
||||
if mvn test -q 2>&1 | tee /tmp/test.log; then
|
||||
TEST_STATUS="passed"
|
||||
TEST_COUNT=$(grep -oP 'Tests run: \K\d+' /tmp/test.log | head -1 || echo "0")
|
||||
echo " \"unitTests\": {\"status\": \"passed\", \"testsRun\": ${TEST_COUNT}}," >> "${RESULTS_FILE}"
|
||||
else
|
||||
TEST_STATUS="failed"
|
||||
echo " \"unitTests\": {\"status\": \"failed\"}," >> "${RESULTS_FILE}"
|
||||
fi
|
||||
|
||||
# 3. 정적 분석
|
||||
echo " Running static analysis..."
|
||||
if mvn spotbugs:check -q 2>&1 | tee /tmp/spotbugs.log; then
|
||||
SPOTBUGS_STATUS="passed"
|
||||
echo " \"spotbugs\": {\"status\": \"passed\"}," >> "${RESULTS_FILE}"
|
||||
else
|
||||
SPOTBUGS_STATUS="failed"
|
||||
echo " \"spotbugs\": {\"status\": \"failed\"}," >> "${RESULTS_FILE}"
|
||||
fi
|
||||
|
||||
# 4. 보안 스캔
|
||||
echo " Running security scan..."
|
||||
if mvn dependency-check:check -q 2>&1 | tee /tmp/security.log; then
|
||||
SECURITY_STATUS="passed"
|
||||
echo " \"securityScan\": {\"status\": \"passed\"}" >> "${RESULTS_FILE}"
|
||||
else
|
||||
SECURITY_STATUS="failed"
|
||||
echo " \"securityScan\": {\"status\": \"failed\"}" >> "${RESULTS_FILE}"
|
||||
fi
|
||||
|
||||
echo " }," >> "${RESULTS_FILE}"
|
||||
|
||||
# 5. Git 변경 파일 목록
|
||||
echo " Collecting changed files..."
|
||||
CHANGED_FILES=$(git diff --name-only HEAD~1 2>/dev/null | tr '\n' ',' | sed 's/,$//')
|
||||
echo " \"changedFiles\": \"${CHANGED_FILES}\"," >> "${RESULTS_FILE}"
|
||||
|
||||
# 6. 검증 결과 요약
|
||||
OVERALL_STATUS="passed"
|
||||
if [ "$BUILD_STATUS" = "failed" ] || [ "$TEST_STATUS" = "failed" ]; then
|
||||
OVERALL_STATUS="failed"
|
||||
fi
|
||||
|
||||
echo " \"overallStatus\": \"${OVERALL_STATUS}\"" >> "${RESULTS_FILE}"
|
||||
echo "}" >> "${RESULTS_FILE}"
|
||||
|
||||
echo ""
|
||||
echo "=========================================="
|
||||
echo " 검증 스크립트 실행 완료"
|
||||
echo " 결과 파일: ${RESULTS_FILE}"
|
||||
echo " 전체 상태: ${OVERALL_STATUS}"
|
||||
echo "=========================================="
|
||||
|
||||
# 결과 파일 출력
|
||||
echo ""
|
||||
echo "--- 검증 결과 파일 내용 ---"
|
||||
cat "${RESULTS_FILE}"
|
||||
|
||||
exit 0
|
||||
Loading…
Add table
Add a link
Reference in a new issue