이 문서는 SonarQube 제품의 주요 핵심 기능을 소개하기 위해 작성되었다.
SonarQube
SonarQube는 조직에서 개발된 코드의 지속적인 인스펙션을 통해 품질 목표를 달성할 수 있게 해주는 플랫폼입니다. 소스 코드 품질 현황을 가시화, 리스크 분석, 소스 코드에서 발생하는 문제를 해결함으로써 소프트웨어 비즈니스를 위해 반드시 필요한 솔루션 입니다.
SonarQube 주요 기능
지속적인 코드 인스펙션
지속적인 통합과 함께 지속적으로 코드 인스펙션을 통해 조기 품질 문제를 해결합니다.코드 보안취약점 검사
코드에 존재하는 다양한 보안취약점을 검사하고 코드의 보안문제를 해결합니다.품질 중앙화
조직의 다양한 언어로 개발된 코드의 품질을 가시화하고 단일 위치에 관리합니다.DevOps 통합
Bitbucket, Github, Gitlab 등 다양한 DevOps 도구와의 통합을 지원합니다.품질 요구사항 설정
품질 게이트를 통해 표준화된 코드 품질 요구사항을 설정할 수 있습니다.다중 언어 분석
SonarQube는 30개 이상의 프로그래밍 언어에 대한 코드 분석을 지원합니다.
SonarQube 기능 세부 설명
프로젝트 기반 품질 관리
SonarQube의 프로젝트는 Git의 저장소와 매핑됩니다. 하나의 저장소에 존재하는 여러 브랜치를 분석하고 브랜치 별로 분석 결과를 확인할 수 있습니다.
프로젝트 품질 현황
프로젝트는 품질 요구사항 충족 여부, 전체 코드와 새로운 코드의 신뢰성, 유지보수성, 보안, 코드 커버리지, 코드 중복과 같은 다양한 분석 결과를 제공합니다.
이슈와 해결책
발견된 이슈는 코드 상의 위치, 해당 이슈의 이유, 고치는 방법 등 소스 코드의 품질 혹은 보안 취약성을 해결할 수 있는 다양한 정보를 제공합니다.
Security Hotspots
Security Hotspots은 보안취약성으로 예상되기 때문에 리뷰가 필요한 코드를 보여줍니다. 개발자는 해당 보안취약성을 리뷰 후에 상태를 표시할 수 있습니다.
보안 리포트
SonarQube Enterprise 에디션에는 PCI, OWSAP, CWE와 같은 보안 리포트를 제공합니다. 이를 통해 개발된 소스 코드의 보안취약점에 대한 안전성을 확인할 수 있습니다.
코드와 관련된 다양한 측정
SonarQube의 Measures 메뉴에서는 신뢰성, 보안, 유지보수성, 커버리지, 중복, 코드 사이즈 등 다양한 측정결과를 한눈에 파악할 수 있는 지표를 제공합니다.
포트폴리오
SonarQube Enterprise 에디션의 포트폴리오 기능은 여러 프로젝트를 묶에 현재 제품이 출시 준비가 되었는지 확인할 수 있는 인사이트를 제공합니다.
SonarQube Edition 비교
SonarQube의 Edition별 기능 및 차이점은 다음과 같다.
기능 | Community | Developer | Enterprise | Data Center |
---|---|---|---|---|
제품 역할 | 개인을 위한 제품 | 하나의 팀을 위한 제품 | 회사 통합을 위한 제품 | 대용량 성능을 위한 제품 |
분석 언어 | 19개 언어 | 26개 언어 | 31개 언어 | 31개 언어 |
보안취약점 분석 | ||||
SonarLint IDE 개발 도구 연동 | ||||
브랜치 분석 | ||||
Pull Request Decoration | ||||
Taint analysis | ||||
분석 보고서의 병렬 처리 | ||||
여러 DevOps 플랫폼 인스턴스 | ||||
PR 데코레이션을 위한 Monorepo 지원 | ||||
보안 엔진 커스터마이징 | ||||
보안 리포트 | ||||
포트폴리오 관리 및 PDF 경영진 보고서 | ||||
프로젝트 PDF 보고서 | ||||
Audit trailing | ||||
프로젝트 이전 | ||||
테스트 / 스테이지 라이센스 | 2개 | 3개 | ||
컴포넌트 무결성 | ||||
Data resiliency | ||||
Horizontal scalability |