토픽 128 / 192·소프트웨어 표준과 법제도
SonarQube
SonarQube
코드 품질과 보안 취약점을 지속적으로 분석하는 오픈소스 플랫폼으로, 정적 분석을 통해 버그, 코드 스멜, 보안 취약점, 테스트 커버리지를 측정하고 품질 게이트를 적용
목적: 코드 품질 관리, 기술 부채 시각화, 보안 취약점 탐지, 품질 기준 적용
특징: 정적 코드 분석, 다중 언어 지원(30+), CI/CD 통합, 대시보드, 품질 게이트
분석 항목
- •Bugs: 잠재적 오류, 런타임 문제 가능성
- •Vulnerabilities: 보안 취약점 (OWASP, CWE, SANS 기반)
- •Code Smells: 유지보수성 저하 코드, 리팩토링 대상
- •Coverage: 테스트 커버리지 (Line, Branch)
- •Duplications: 중복 코드 비율
- •Hotspots: 보안 검토 필요 코드
품질 게이트 (Quality Gate)
- •통과 기준 설정 (예: 신규 코드 커버리지 80% 이상)
- •CI/CD에서 실패 시 배포 차단
- •기본 게이트: Sonar Way
주요 메트릭
- •Reliability Rating: 버그 기반 (A-E)
- •Security Rating: 취약점 기반 (A-E)
- •Maintainability Rating: 기술 부채 기반 (A-E)
- •Technical Debt: 수정에 필요한 예상 시간
CI/CD 통합: Jenkins, GitLab CI, GitHub Actions, Azure DevOps
SonarQube 에디션: Community(오픈소스), Developer, Enterprise, Data Center
장점: 종합적 품질 관리, 시각화, 트렌드 추적, 다중 언어, 무료(Community)
단점: 리소스 사용량, False Positive, 초기 설정, 고급 기능 유료
적용사례: 대부분의 엔터프라이즈, 오픈소스 프로젝트, DevOps 파이프라인
기술요소: 정적 분석, Quality Gate, Technical Debt, Scanner, Dashboard
비교: SonarQube(종합 품질) vs CodeClimate(경량) vs Codacy(SaaS)
연관: 정적 분석, SAST, CI/CD, 코드 품질, 기술 부채, DevOps