Learning
토픽 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