피드로 돌아가기![[Hands-on] Guide to Locally Testing Athenz Before Opening a PR](/_next/image?url=https%3A%2F%2Ftsewlmecqtvqphyhezcm.supabase.co%2Fstorage%2Fv1%2Fobject%2Fpublic%2Fthumbnails%2Fdecb1543-0481-4eca-b0c4-93eeef748eef.webp%3F&w=3840&q=75)
Dev.toDevOps
원문 읽기
CI 리소스 최적화와 개발 생산성 향상을 위한 Athenz 로컬 테스트 전략
[Hands-on] Guide to Locally Testing Athenz Before Opening a PR
AI 요약
Context
PR 제출 전 CI 단계에서 발생하는 반복적인 빌드 실패와 리소스 낭비 해결 필요. 대규모 모듈 구성으로 인해 전체 빌드 시 과도한 시간 소요 및 종속성 충돌 가능성 존재.
Technical Solution
- CI 비용 절감을 위한 [skip ci] 플래그 기반의 조건부 파이프라인 실행 구조 채택
- 초기 빌드 시 -DskipTests 옵션을 통한 Dependency 우선 확보로 테스트 실패 가능성 차단
- Maven의 -pl(project list) 옵션을 활용한 특정 서버 모듈 단위의 부분적 테스트 수행
- -Dtest 옵션과 # 구분자를 통한 Class 및 Method 레벨의 정밀한 테스트 범위 제어
- Jacoco Report 자동 생성 체계를 통한 코드 커버리지 기반의 검증 프로세스 구축
Impact
전체 프로젝트 의존성 설치 및 초기 빌드에 약 16분 소요.
실천 포인트
- CI 리소스 낭비를 막기 위해 단순 문서 수정 시 [skip ci] 태그 사용 습관화 - 대규모 모노레포 환경에서 -pl 옵션을 통한 모듈별 독립 테스트 환경 구축 - 테스트 범위의 세분화(Module -> Class -> Method)를 통한 피드백 루프 단축 - 코드 변경 후 Jacoco 리포트를 통해 실제 테스트 커버리지 충족 여부 확인