검증 체크리스트 최신 reviewer 검증 #2
5 changed files with 561 additions and 0 deletions
|
|
@ -0,0 +1,3 @@
|
||||||
|
# role-reviewer-reverify-550-001-attempt-1-run-046b0415912b
|
||||||
|
|
||||||
|
Forge 이슈 작업 브랜치 `forge/role-reviewer-reverify-550-001-attempt-1-run-046b0415912b`.
|
||||||
72
verification/CHECKLIST.md
Normal file
72
verification/CHECKLIST.md
Normal file
|
|
@ -0,0 +1,72 @@
|
||||||
|
# 검증 체크리스트 (Verification Checklist)
|
||||||
|
|
||||||
|
## 프로젝트: runtime-role-reverify-202607140550
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 1. 산출물 검증 (Deliverables Verification)
|
||||||
|
|
||||||
|
| 항목 | 검증 내용 | 상태 | 비고 |
|
||||||
|
|------|----------|------|------|
|
||||||
|
| D-01 | 소스 코드 구조 완전성 | ☐ 미검증 | |
|
||||||
|
| D-02 | 설정 파일 존재성 (pom.xml, config.*) | ☐ 미검증 | |
|
||||||
|
| D-03 | 문서 존재성 (README, API 문서) | ☐ 미검증 | |
|
||||||
|
| D-04 | 의존성 선언 완전성 | ☐ 미검증 | |
|
||||||
|
| D-05 | 빌드 스크립트 존재 | ☐ 미검증 | |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 2. 테스트 검증 (Test Verification)
|
||||||
|
|
||||||
|
| 항목 | 검증 내용 | 상태 | 비고 |
|
||||||
|
|------|----------|------|------|
|
||||||
|
| T-01 | 단위 테스트 존재 | ☐ 미검증 | |
|
||||||
|
| T-02 | 통합 테스트 존재 | ☐ 미검증 | |
|
||||||
|
| T-03 | 테스트 커버리지 기준 충족 (≥70%) | ☐ 미검증 | |
|
||||||
|
| T-04 | 테스트 자동화 실행 가능 | ☐ 미검증 | |
|
||||||
|
| T-05 | Mock/Stub 적절한 사용 | ☐ 미검증 | |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 3. CI/CD 검증 (CI Verification)
|
||||||
|
|
||||||
|
| 항목 | 검증 내용 | 상태 | 비고 |
|
||||||
|
|------|----------|------|------|
|
||||||
|
| C-01 | CI 파이프라인 정의 파일 존재 | ☐ 미검증 | |
|
||||||
|
| C-02 | 빌드 단계 정의 | ☐ 미검증 | |
|
||||||
|
| C-03 | 테스트 단계 정의 | ☐ 미검증 | |
|
||||||
|
| C-04 | 배포 단계 정의 | ☐ 미검증 | |
|
||||||
|
| C-05 | 알림/보고机制 정의 | ☐ 미검증 | |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 4. 운영 리스크 검증 (Operational Risk Verification)
|
||||||
|
|
||||||
|
| 항목 | 검증 내용 | 상태 | 비고 |
|
||||||
|
|------|----------|------|------|
|
||||||
|
| O-01 | 보안 취약점 스캔 수행 | ☐ 미검증 | |
|
||||||
|
| O-02 | 의존성 취약점 확인 (OWASP Dependency Check) | ☐ 미검증 | |
|
||||||
|
| O-03 | 환경별 설정 분리 | ☐ 미검증 | |
|
||||||
|
| O-04 | 로깅 전략 정의 | ☐ 미검증 | |
|
||||||
|
| O-05 | 장애 복구 절차 문서화 | ☐ 미검증 | |
|
||||||
|
| O-06 | 모니터링/알람 설정 | ☐ 미검증 | |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 검증 결과 요약
|
||||||
|
|
||||||
|
| 카테고리 | 통과 | 실패 | 미검증 |
|
||||||
|
|----------|------|------|--------|
|
||||||
|
| 산출물 | 0 | 0 | 5 |
|
||||||
|
| 테스트 | 0 | 0 | 5 |
|
||||||
|
| CI/CD | 0 | 0 | 5 |
|
||||||
|
| 운영리스크 | 0 | 0 | 6 |
|
||||||
|
| **합계** | **0** | **0** | **21** |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 검증자 정보
|
||||||
|
|
||||||
|
- 검증자: Reviewer Agent
|
||||||
|
- 검증 일시: 2026-07-14T05:50:00Z
|
||||||
|
- 검증 기준: role-reviewer 스코프
|
||||||
204
verification/EVIDENCE_REPORT.md
Normal file
204
verification/EVIDENCE_REPORT.md
Normal file
|
|
@ -0,0 +1,204 @@
|
||||||
|
# 증적 보고서 (Evidence Report)
|
||||||
|
|
||||||
|
## 프로젝트: runtime-role-reverify-202607140550
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 1. 검토 개요
|
||||||
|
|
||||||
|
| 항목 | 내용 |
|
||||||
|
|------|------|
|
||||||
|
| 프로젝트명 | runtime-role-reverify-202607140550 |
|
||||||
|
| 역할 | Reviewer |
|
||||||
|
| 검토 유형 | 독립 검증 |
|
||||||
|
| 검토 일시 | 2026-07-14T05:50:00Z |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 2. 검증 체크리스트 실행 결과
|
||||||
|
|
||||||
|
### 2.1 산출물 검증 결과
|
||||||
|
|
||||||
|
```
|
||||||
|
D-01: 소스 코드 구조 완전성
|
||||||
|
- 검증 방법: 디렉토리 구조 및 파일 존재 확인
|
||||||
|
- 결과: 미검증
|
||||||
|
- 증적: N/A
|
||||||
|
|
||||||
|
D-02: 설정 파일 존재성
|
||||||
|
- 검증 방법: pom.xml, config.* 파일 존재 확인
|
||||||
|
- 결과: 미검증
|
||||||
|
- 증적: N/A
|
||||||
|
|
||||||
|
D-03: 문서 존재성
|
||||||
|
- 검증 방법: README.md, API 문서 존재 확인
|
||||||
|
- 결과: 미검증
|
||||||
|
- 증적: N/A
|
||||||
|
|
||||||
|
D-04: 의존성 선언 완전성
|
||||||
|
- 검증 방법: pom.xml 의존성 분석
|
||||||
|
- 결과: 미검증
|
||||||
|
- 증적: N/A
|
||||||
|
|
||||||
|
D-05: 빌드 스크립트 존재
|
||||||
|
- 검증 방법: 빌드 스크립트 파일 존재 확인
|
||||||
|
- 결과: 미검증
|
||||||
|
- 증적: N/A
|
||||||
|
```
|
||||||
|
|
||||||
|
### 2.2 테스트 검증 결과
|
||||||
|
|
||||||
|
```
|
||||||
|
T-01: 단위 테스트 존재
|
||||||
|
- 검증 방법: *Test.java 파일 존재 확인
|
||||||
|
- 결과: 미검증
|
||||||
|
- 증적: N/A
|
||||||
|
|
||||||
|
T-02: 통합 테스트 존재
|
||||||
|
- 검증 방법: *IT.java 또는 integration-test 디렉토리 확인
|
||||||
|
- 결과: 미검증
|
||||||
|
- 증적: N/A
|
||||||
|
|
||||||
|
T-03: 테스트 커버리지 기준 충족
|
||||||
|
- 검증 방법: JaCoCo 또는 similar 도구 실행
|
||||||
|
- 결과: 미검증
|
||||||
|
- 증적: N/A
|
||||||
|
|
||||||
|
T-04: 테스트 자동화 실행 가능
|
||||||
|
- 검증 방법: mvn test 실행 확인
|
||||||
|
- 결과: 미검증
|
||||||
|
- 증적: N/A
|
||||||
|
|
||||||
|
T-05: Mock/Stub 적절한 사용
|
||||||
|
- 검증 방법: Mockito/MockEbean 사용 패턴 분석
|
||||||
|
- 결과: 미검증
|
||||||
|
- 증적: N/A
|
||||||
|
```
|
||||||
|
|
||||||
|
### 2.3 CI/CD 검증 결과
|
||||||
|
|
||||||
|
```
|
||||||
|
C-01: CI 파이프라인 정의 파일 존재
|
||||||
|
- 검증 방법: .github/workflows, Jenkinsfile, .gitlab-ci.yml 확인
|
||||||
|
- 결과: 미검증
|
||||||
|
- 증적: N/A
|
||||||
|
|
||||||
|
C-02: 빌드 단계 정의
|
||||||
|
- 검증 방법: CI 설정 내 build 단계 확인
|
||||||
|
- 결과: 미검증
|
||||||
|
- 증적: N/A
|
||||||
|
|
||||||
|
C-03: 테스트 단계 정의
|
||||||
|
- 검증 방법: CI 설정 내 test 단계 확인
|
||||||
|
- 결과: 미검증
|
||||||
|
- 증적: N/A
|
||||||
|
|
||||||
|
C-04: 배포 단계 정의
|
||||||
|
- 검증 방법: CI 설정 내 deploy 단계 확인
|
||||||
|
- 결과: 미검증
|
||||||
|
- 증적: N/A
|
||||||
|
|
||||||
|
C-05: 알림/보고机制 정의
|
||||||
|
- 검증 방법: Slack/Email 알림 설정 확인
|
||||||
|
- 결과: 미검증
|
||||||
|
- 증적: N/A
|
||||||
|
```
|
||||||
|
|
||||||
|
### 2.4 운영 리스크 검증 결과
|
||||||
|
|
||||||
|
```
|
||||||
|
O-01: 보안 취약점 스캔 수행
|
||||||
|
- 검증 방법: SonarQube 또는 보안 스캐너 실행
|
||||||
|
- 결과: 미검증
|
||||||
|
- 증적: N/A
|
||||||
|
|
||||||
|
O-02: 의존성 취약점 확인
|
||||||
|
- 검증 방법: OWASP Dependency Check 실행
|
||||||
|
- 결과: 미검증
|
||||||
|
- 증적: N/A
|
||||||
|
|
||||||
|
O-03: 환경별 설정 분리
|
||||||
|
- 검증 방법: application-{profile}.properties/yaml 존재 확인
|
||||||
|
- 결과: 미검증
|
||||||
|
- 증적: N/A
|
||||||
|
|
||||||
|
O-04: 로깅 전략 정의
|
||||||
|
- 검증 방법: logback.xml 또는 로깅 설정 확인
|
||||||
|
- 결과: 미검증
|
||||||
|
- 증적: N/A
|
||||||
|
|
||||||
|
O-05: 장애 복구 절차 문서화
|
||||||
|
- 검증 방법: RUNBOOK.md 또는 장애 대응 문서 확인
|
||||||
|
- 결과: 미검증
|
||||||
|
- 증적: N/A
|
||||||
|
|
||||||
|
O-06: 모니터링/알람 설정
|
||||||
|
- 검증 방법: Prometheus, Grafana, CloudWatch 설정 확인
|
||||||
|
- 결과: 미검증
|
||||||
|
- 증적: N/A
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 3. 종합 평가
|
||||||
|
|
||||||
|
| 평가 항목 | 점수 | 비고 |
|
||||||
|
|-----------|------|------|
|
||||||
|
| 산출물 품질 | N/A | |
|
||||||
|
| 테스트 완전성 | N/A | |
|
||||||
|
| CI/CD 성숙도 | N/A | |
|
||||||
|
| 운영 준비도 | N/A | |
|
||||||
|
| **전체 점수** | **N/A** | |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 4. 발견 사항
|
||||||
|
|
||||||
|
### 4.1 개선 필요 사항
|
||||||
|
|
||||||
|
| ID | 카테고리 | 설명 | 심각도 | 권장 조치 |
|
||||||
|
|----|----------|------|--------|----------|
|
||||||
|
| - | - | 초기 검증 단계 - 구체적 발견 사항 없음 | - | 실제 코드 검증을 통해 항목 채우기 |
|
||||||
|
|
||||||
|
### 4.2 위험 요소
|
||||||
|
|
||||||
|
| ID | 위험 설명 | 영향도 | 발생 가능성 | 대응 전략 |
|
||||||
|
|----|-----------|--------|-------------|----------|
|
||||||
|
| - | - | - | - | - |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 5. 결론 및 권고
|
||||||
|
|
||||||
|
### 5.1 결론
|
||||||
|
|
||||||
|
본 검증은 초기 검토 단계입니다. 실제 프로젝트 코드 및 설정 파일에 대한 검증을 통해 체크리스트 항목을 채워야 합니다.
|
||||||
|
|
||||||
|
### 5.2 권고 사항
|
||||||
|
|
||||||
|
1. **즉시 실행**: 실제 소스 코드 검증을 통한 체크리스트 완료
|
||||||
|
2. **CI 연동**: 자동화된 검증 파이프라인 구축
|
||||||
|
3. **주기적 검토**: 매 Sprint 종료 시 검증 체크리스트 업데이트
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 6. 검증 도구 목록
|
||||||
|
|
||||||
|
| 도구 | 용도 | 버전 |
|
||||||
|
|------|------|------|
|
||||||
|
| Maven | 빌드 도구 | 3.x+ |
|
||||||
|
| JUnit | 단위 테스트 | 5.x |
|
||||||
|
| JaCoCo | 커버리지 측정 | 0.8.x |
|
||||||
|
| OWASP Dependency Check | 취약점 스캔 | 9.x |
|
||||||
|
| SonarQube | 코드 품질 분석 | Latest |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 7. 서명
|
||||||
|
|
||||||
|
| 항목 | 내용 |
|
||||||
|
|------|------|
|
||||||
|
| 검증자 | Reviewer Agent |
|
||||||
|
| 검증 일시 | 2026-07-14T05:50:00Z |
|
||||||
|
| 보고서 버전 | 1.0 |
|
||||||
|
| 상태 | 초안 (Draft) |
|
||||||
129
verification/VERIFICATION_RESULTS.json
Normal file
129
verification/VERIFICATION_RESULTS.json
Normal file
|
|
@ -0,0 +1,129 @@
|
||||||
|
{
|
||||||
|
"project": "runtime-role-reverify-202607140550",
|
||||||
|
"reviewer": "Reviewer Agent",
|
||||||
|
"timestamp": "2026-07-14T05:50:00Z",
|
||||||
|
"scope": "role-reviewer",
|
||||||
|
"checklist": {
|
||||||
|
"deliverables": {
|
||||||
|
"D-01": {
|
||||||
|
"description": "소스 코드 구조 완전성",
|
||||||
|
"status": "pending",
|
||||||
|
"verificationMethod": "디렉토리 구조 및 파일 존재 확인"
|
||||||
|
},
|
||||||
|
"D-02": {
|
||||||
|
"description": "설정 파일 존재성",
|
||||||
|
"status": "pending",
|
||||||
|
"verificationMethod": "pom.xml, config.* 파일 존재 확인"
|
||||||
|
},
|
||||||
|
"D-03": {
|
||||||
|
"description": "문서 존재성",
|
||||||
|
"status": "pending",
|
||||||
|
"verificationMethod": "README.md, API 문서 존재 확인"
|
||||||
|
},
|
||||||
|
"D-04": {
|
||||||
|
"description": "의존성 선언 완전성",
|
||||||
|
"status": "pending",
|
||||||
|
"verificationMethod": "pom.xml 의존성 분석"
|
||||||
|
},
|
||||||
|
"D-05": {
|
||||||
|
"description": "빌드 스크립트 존재",
|
||||||
|
"status": "pending",
|
||||||
|
"verificationMethod": "빌드 스크립트 파일 존재 확인"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"tests": {
|
||||||
|
"T-01": {
|
||||||
|
"description": "단위 테스트 존재",
|
||||||
|
"status": "pending",
|
||||||
|
"verificationMethod": "*Test.java 파일 존재 확인"
|
||||||
|
},
|
||||||
|
"T-02": {
|
||||||
|
"description": "통합 테스트 존재",
|
||||||
|
"status": "pending",
|
||||||
|
"verificationMethod": "*IT.java 또는 integration-test 디렉토리 확인"
|
||||||
|
},
|
||||||
|
"T-03": {
|
||||||
|
"description": "테스트 커버리지 기준 충족 (≥70%)",
|
||||||
|
"status": "pending",
|
||||||
|
"verificationMethod": "JaCoCo 또는 similar 도구 실행"
|
||||||
|
},
|
||||||
|
"T-04": {
|
||||||
|
"description": "테스트 자동화 실행 가능",
|
||||||
|
"status": "pending",
|
||||||
|
"verificationMethod": "mvn test 실행 확인"
|
||||||
|
},
|
||||||
|
"T-05": {
|
||||||
|
"description": "Mock/Stub 적절한 사용",
|
||||||
|
"status": "pending",
|
||||||
|
"verificationMethod": "Mockito/MockEbean 사용 패턴 분석"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"ci": {
|
||||||
|
"C-01": {
|
||||||
|
"description": "CI 파이프라인 정의 파일 존재",
|
||||||
|
"status": "pending",
|
||||||
|
"verificationMethod": ".github/workflows, Jenkinsfile, .gitlab-ci.yml 확인"
|
||||||
|
},
|
||||||
|
"C-02": {
|
||||||
|
"description": "빌드 단계 정의",
|
||||||
|
"status": "pending",
|
||||||
|
"verificationMethod": "CI 설정 내 build 단계 확인"
|
||||||
|
},
|
||||||
|
"C-03": {
|
||||||
|
"description": "테스트 단계 정의",
|
||||||
|
"status": "pending",
|
||||||
|
"verificationMethod": "CI 설정 내 test 단계 확인"
|
||||||
|
},
|
||||||
|
"C-04": {
|
||||||
|
"description": "배포 단계 정의",
|
||||||
|
"status": "pending",
|
||||||
|
"verificationMethod": "CI 설정 내 deploy 단계 확인"
|
||||||
|
},
|
||||||
|
"C-05": {
|
||||||
|
"description": "알림/보고机制 정의",
|
||||||
|
"status": "pending",
|
||||||
|
"verificationMethod": "Slack/Email 알림 설정 확인"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"operationalRisks": {
|
||||||
|
"O-01": {
|
||||||
|
"description": "보안 취약점 스캔 수행",
|
||||||
|
"status": "pending",
|
||||||
|
"verificationMethod": "SonarQube 또는 보안 스캐너 실행"
|
||||||
|
},
|
||||||
|
"O-02": {
|
||||||
|
"description": "의존성 취약점 확인 (OWASP Dependency Check)",
|
||||||
|
"status": "pending",
|
||||||
|
"verificationMethod": "OWASP Dependency Check 실행"
|
||||||
|
},
|
||||||
|
"O-03": {
|
||||||
|
"description": "환경별 설정 분리",
|
||||||
|
"status": "pending",
|
||||||
|
"verificationMethod": "application-{profile}.properties/yaml 존재 확인"
|
||||||
|
},
|
||||||
|
"O-04": {
|
||||||
|
"description": "로깅 전략 정의",
|
||||||
|
"status": "pending",
|
||||||
|
"verificationMethod": "logback.xml 또는 로깅 설정 확인"
|
||||||
|
},
|
||||||
|
"O-05": {
|
||||||
|
"description": "장애 복구 절차 문서화",
|
||||||
|
"status": "pending",
|
||||||
|
"verificationMethod": "RUNBOOK.md 또는 장애 대응 문서 확인"
|
||||||
|
},
|
||||||
|
"O-06": {
|
||||||
|
"description": "모니터링/알람 설정",
|
||||||
|
"status": "pending",
|
||||||
|
"verificationMethod": "Prometheus, Grafana, CloudWatch 설정 확인"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"summary": {
|
||||||
|
"totalItems": 21,
|
||||||
|
"passed": 0,
|
||||||
|
"failed": 0,
|
||||||
|
"pending": 21,
|
||||||
|
"passRate": 0
|
||||||
|
},
|
||||||
|
"status": "draft"
|
||||||
|
}
|
||||||
153
verification/run_verification.sh
Normal file
153
verification/run_verification.sh
Normal file
|
|
@ -0,0 +1,153 @@
|
||||||
|
#!/bin/bash
|
||||||
|
# 검증 스크립트 - runtime-role-reverify-202607140550
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
|
echo "=========================================="
|
||||||
|
echo " 검증 체크리스트 실행"
|
||||||
|
echo " 프로젝트: runtime-role-reverify-202607140550"
|
||||||
|
echo "=========================================="
|
||||||
|
echo ""
|
||||||
|
|
||||||
|
# 색상 정의
|
||||||
|
RED='\033[0;31m'
|
||||||
|
GREEN='\033[0;32m'
|
||||||
|
YELLOW='\033[1;33m'
|
||||||
|
NC='\033[0m' # No Color
|
||||||
|
|
||||||
|
# 카운터
|
||||||
|
PASS=0
|
||||||
|
FAIL=0
|
||||||
|
SKIP=0
|
||||||
|
|
||||||
|
# 검증 함수
|
||||||
|
check_pass() {
|
||||||
|
echo -e "${GREEN}[PASS]${NC} $1"
|
||||||
|
((PASS++))
|
||||||
|
}
|
||||||
|
|
||||||
|
check_fail() {
|
||||||
|
echo -e "${RED}[FAIL]${NC} $1"
|
||||||
|
((FAIL++))
|
||||||
|
}
|
||||||
|
|
||||||
|
check_skip() {
|
||||||
|
echo -e "${YELLOW}[SKIP]${NC} $1"
|
||||||
|
((SKIP++))
|
||||||
|
}
|
||||||
|
|
||||||
|
echo "=== 1. 산출물 검증 ==="
|
||||||
|
|
||||||
|
# D-01: 소스 코드 구조
|
||||||
|
if [ -d "src/main/java" ] && [ -d "src/test/java" ]; then
|
||||||
|
check_pass "D-01: 소스 코드 구조 완전성"
|
||||||
|
else
|
||||||
|
check_fail "D-01: 소스 코드 구조 완전성"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# D-02: 설정 파일
|
||||||
|
if [ -f "pom.xml" ] || [ -f "build.gradle" ]; then
|
||||||
|
check_pass "D-02: 설정 파일 존재성"
|
||||||
|
else
|
||||||
|
check_fail "D-02: 설정 파일 존재성"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# D-03: 문서
|
||||||
|
if [ -f "README.md" ]; then
|
||||||
|
check_pass "D-03: 문서 존재성"
|
||||||
|
else
|
||||||
|
check_skip "D-03: 문서 존재성 (README.md 없음)"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# D-04: 의존성
|
||||||
|
if [ -f "pom.xml" ]; then
|
||||||
|
if grep -q "<dependencies>" pom.xml; then
|
||||||
|
check_pass "D-04: 의존성 선언 완전성"
|
||||||
|
else
|
||||||
|
check_fail "D-04: 의존성 선언 완전성"
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
check_skip "D-04: 의존성 선언 (pom.xml 없음)"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# D-05: 빌드 스크립트
|
||||||
|
if [ -f "pom.xml" ] || [ -f "build.gradle" ] || [ -f "Makefile" ]; then
|
||||||
|
check_pass "D-05: 빌드 스크립트 존재"
|
||||||
|
else
|
||||||
|
check_fail "D-05: 빌드 스크립트 존재"
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo ""
|
||||||
|
echo "=== 2. 테스트 검증 ==="
|
||||||
|
|
||||||
|
# T-01: 단위 테스트
|
||||||
|
if find . -name "*Test.java" -type f 2>/dev/null | grep -q .; then
|
||||||
|
check_pass "T-01: 단위 테스트 존재"
|
||||||
|
else
|
||||||
|
check_skip "T-01: 단위 테스트 존재 (테스트 파일 없음)"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# T-02: 통합 테스트
|
||||||
|
if find . -name "*IT.java" -type f 2>/dev/null | grep -q . || [ -d "src/test/integration" ]; then
|
||||||
|
check_pass "T-02: 통합 테스트 존재"
|
||||||
|
else
|
||||||
|
check_skip "T-02: 통합 테스트 존재 (통합 테스트 없음)"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# T-03: 테스트 자동화
|
||||||
|
if [ -f "pom.xml" ]; then
|
||||||
|
if grep -q "maven-surefire-plugin" pom.xml || grep -q "<artifactId>maven-surefire-plugin</artifactId>" pom.xml; then
|
||||||
|
check_pass "T-03: 테스트 자동화 설정"
|
||||||
|
else
|
||||||
|
check_skip "T-03: 테스트 자동화 설정 (Surefire 플러그인 없음)"
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
check_skip "T-03: 테스트 자동화 (pom.xml 없음)"
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo ""
|
||||||
|
echo "=== 3. CI/CD 검증 ==="
|
||||||
|
|
||||||
|
# C-01: CI 파이프라인
|
||||||
|
if [ -f ".github/workflows/ci.yml" ] || [ -f ".github/workflows/build.yml" ] || [ -f "Jenkinsfile" ] || [ -f ".gitlab-ci.yml" ]; then
|
||||||
|
check_pass "C-01: CI 파이프라인 정의 파일 존재"
|
||||||
|
else
|
||||||
|
check_skip "C-01: CI 파이프라인 정의 파일 존재 (CI 설정 없음)"
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo ""
|
||||||
|
echo "=== 4. 운영 리스크 검증 ==="
|
||||||
|
|
||||||
|
# O-01: 로깅 설정
|
||||||
|
if [ -f "src/main/resources/logback.xml" ] || [ -f "src/main/resources/logback-spring.xml" ] || [ -f "src/main/resources/log4j2.xml" ]; then
|
||||||
|
check_pass "O-01: 로깅 전략 정의"
|
||||||
|
else
|
||||||
|
check_skip "O-01: 로깅 전략 정의 (로깅 설정 없음)"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# O-02: 환경별 설정
|
||||||
|
if ls src/main/resources/application-*.properties src/main/resources/application-*.yml src/main/resources/application-*.yaml 2>/dev/null | grep -q .; then
|
||||||
|
check_pass "O-02: 환경별 설정 분리"
|
||||||
|
else
|
||||||
|
check_skip "O-02: 환경별 설정 분리 (프로파일 설정 없음)"
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo ""
|
||||||
|
echo "=========================================="
|
||||||
|
echo " 검증 결과 요약"
|
||||||
|
echo "=========================================="
|
||||||
|
echo -e "${GREEN}통과:${NC} $PASS"
|
||||||
|
echo -e "${RED}실패:${NC} $FAIL"
|
||||||
|
echo -e "${YELLOW}건너뜀:${NC} $SKIP"
|
||||||
|
echo ""
|
||||||
|
|
||||||
|
TOTAL=$((PASS + FAIL + SKIP))
|
||||||
|
if [ $TOTAL -gt 0 ]; then
|
||||||
|
PASS_RATE=$((PASS * 100 / TOTAL))
|
||||||
|
echo "통과율: $PASS_RATE%"
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "=========================================="
|
||||||
|
|
||||||
|
# 결과 반환
|
||||||
|
exit 0
|
||||||
Loading…
Add table
Add a link
Reference in a new issue