Reviewer 역할 검증 보고서 smoke #5
1 changed files with 90 additions and 0 deletions
90
scripts/validate.sh
Normal file
90
scripts/validate.sh
Normal file
|
|
@ -0,0 +1,90 @@
|
|||
#!/bin/bash
|
||||
# 검증 스크립트 - 독립적 검증 실행
|
||||
|
||||
set -e
|
||||
|
||||
echo "=========================================="
|
||||
echo " 검증 체크리스트 실행"
|
||||
echo "=========================================="
|
||||
echo ""
|
||||
|
||||
# 색상 정의
|
||||
RED='\033[0;31m'
|
||||
GREEN='\033[0;32m'
|
||||
YELLOW='\033[1;33m'
|
||||
NC='\033[0m' # No Color
|
||||
|
||||
# 함수 정의
|
||||
pass() { echo -e "${GREEN}✓ PASS${NC}: $1"; }
|
||||
fail() { echo -e "${RED}✗ FAIL${NC}: $1"; exit 1; }
|
||||
warn() { echo -e "${YELLOW}⚠ WARN${NC}: $1"; }
|
||||
|
||||
# 1. 변경 파일 검증
|
||||
echo "[1/5] 변경 파일 검증..."
|
||||
if git diff --name-only HEAD~1 > /dev/null 2>&1; then
|
||||
CHANGED_FILES=$(git diff --name-only HEAD~1 | wc -l)
|
||||
echo " 변경된 파일 수: $CHANGED_FILES"
|
||||
pass "변경 파일 확인 완료"
|
||||
else
|
||||
warn "git 히스토리가 없습니다. 초기 커밋으로 간주합니다."
|
||||
fi
|
||||
echo ""
|
||||
|
||||
# 2. 테스트 검증
|
||||
echo "[2/5] 테스트 검증..."
|
||||
if command -v mvn &> /dev/null; then
|
||||
echo " Maven 테스트 실행 중..."
|
||||
if mvn test -q 2>&1 | tail -5; then
|
||||
pass "테스트 실행 완료"
|
||||
else
|
||||
fail "테스트 실패"
|
||||
fi
|
||||
else
|
||||
warn "Maven이 설치되어 있지 않습니다."
|
||||
fi
|
||||
echo ""
|
||||
|
||||
# 3. 빌드 검증
|
||||
echo "[3/5] 빌드 검증..."
|
||||
if command -v mvn &> /dev/null; then
|
||||
echo " Maven 빌드 실행 중..."
|
||||
if mvn clean package -DskipTests -q 2>&1 | tail -3; then
|
||||
pass "빌드 완료"
|
||||
else
|
||||
fail "빌드 실패"
|
||||
fi
|
||||
else
|
||||
warn "Maven이 설치되어 있지 않습니다."
|
||||
fi
|
||||
echo ""
|
||||
|
||||
# 4. CI 파일 검증
|
||||
echo "[4/5] CI/CD 검증..."
|
||||
if [ -d ".github/workflows" ]; then
|
||||
WORKFLOW_COUNT=$(find .github/workflows -name "*.yml" -o -name "*.yaml" | wc -l)
|
||||
echo " Workflow 파일 수: $WORKFLOW_COUNT"
|
||||
pass "CI/CD 설정 확인 완료"
|
||||
else
|
||||
warn "GitHub Actions 워크플로우가 없습니다."
|
||||
fi
|
||||
echo ""
|
||||
|
||||
# 5. 보안 검증
|
||||
echo "[5/5] 보안 검증..."
|
||||
if [ -f "pom.xml" ]; then
|
||||
if grep -q "dependency-check-maven" pom.xml; then
|
||||
echo " OWASP Dependency Check 설정됨"
|
||||
fi
|
||||
pass "보안 설정 확인 완료"
|
||||
else
|
||||
warn "pom.xml이 없습니다."
|
||||
fi
|
||||
echo ""
|
||||
|
||||
echo "=========================================="
|
||||
echo " 검증 완료"
|
||||
echo "=========================================="
|
||||
echo ""
|
||||
echo "상세 보고서 확인:"
|
||||
echo " - docs/review/VALIDATION_CHECKLIST.md"
|
||||
echo " - docs/review/EVIDENCE_REPORT.md"
|
||||
Loading…
Add table
Add a link
Reference in a new issue