이 문서는 SonarQube 제품의 개요를 공유하기 위해 작성되었다.
목차 |
---|
SonarQube 주요 기능
SonarQube 지속적인 인스펙션을 통해 조직의 코드 품질 강화 및 보안 취약성 예방을 도와주는 솔루션이다.
다음은 SonarQube가 제공하는 주요 기능이다.
- Java, Javascript, C#, C/C++, Python 등 16개 30개 이상 다중 언어 분석 지원
- 다음 사이트에서 SonarQube에서 지원하는 Rule을 확인할 수 있다.
- 프로젝트 단위로 코드 분석 현황 정보 및 대시보드 제공
- 코드의 버그, 보안취약점, 코드중복, 단위테스트 커버리지, 사이즈 등 다양한 측정 정보 제공
- 특정 기간 동안 다양한 코드 측정(품질요소)에 대한 트랜드 제공
- 품질 요구사항 설정을 통한 코드 품질 측정
- Git 연동을 통한 브랜치 기반의 코드 분석 지원
- Eclispe, Intellij, Visual Studio 등 주요 개발 IDE와 연동 및 분석 결과 알림 지원
- Maven, Ant, Gradle, MSBuild, Makefile 등 빌드 통합 제공
- Jenkins, Bamboo, TeamCity 등 다양한 CI 엔진과의 통합 제공
- LDAP, Crowd 등 사용자 디렉토리 연동을 통한 계정 관리
SonarQube Edition
SonarQube의 Edition별 기능 및 차이점은 다음과 같다.
Developer |
---|
Enterprise |
---|
Data Center |
---|
- 기본 SonarQube
- 브랜치 분석
- SonarLint 알림
- 포트폴리오 관리
- 경영자 리포팅
- 컴포넌트 리더던시
- 데이터 무결성
커뮤니티 포함
ABAP, C++, C, PL/SQL, TSQL, Swift
Developer 포함
VB6, VB, RPG, COBOL, PL/I
1 testing instance
1 staging instance
Edition 별 주요 기능
...
SonarLint IDE 개발 도구 연동 | |||
브랜치 분석 | |||
Pull Request Decoration | |||
Taint analysis | |||
분석 언어 | 24개 언어 | 30개 언어 | 30개 언어 |
분석 보고서의 병렬 처리 | |||
여러 DevOps 플랫폼 인스턴스 | |||
PR 데코레이션을 위한 Monorepo 지원 | |||
보안 엔진 커스터마이징 | |||
보안 리포트 | |||
포트폴리오 관리 및 PDF 경영진 보고서 | |||
프로젝트 PDF 보고서 | |||
Audit trailing | |||
프로젝트 이전 | |||
테스트 / 스테이지 라이센스 | 2개 | 3개 | |
컴포넌트 무결성 | |||
Data resiliency | |||
Horizontal scalability |
SonarQube Edition의 주요 기능
SonarLint IDE 개발 도구 연동
IDE에 SonarLint가 설치되어있고 SonarQube와 연동되어있으면 서버에서 분석된 결과를 IDE의 SonarLint를 통해 알림을 받을 수 있다.
...
브랜치 분석
Git Branch 기반으로 개발을 할 경우, SonarQube의 하나의 프로젝트에서 Branch를 모아서 분석 결과를 추적할 수 있다.
Branch는 개발 방식에 따라 Short-lived와 Long-lived 코드 브랜치가 존재할 수 있으며, 해당 브랜치에서 안정성이 보장된 코드만이 Master 브랜치로 병합할 수 있다.
...
Pull Request Decoration
Taint analysis
분석 언어
분석 보고서의 병렬 처리
여러 DevOps 플랫폼 인스턴스
PR 데코레이션을 위한 Monorepo 지원
보안 엔진 커스터마이징
보안 리포트
포트폴리오 관리 및 PDF 보고서
...
포트폴리오는 SonarQube에서 분석된 여러 프로젝트(저장소)를 묶어서 합계된 결과를 확인할 수 있게 구성할 수 있다.
기본 프로젝트의 Reliability, Security, Maintainability와 함께 품질 게이트를 실패한 비율을 Releaseability로 표시합니다. 이를 통해 해당 제품(서비스)를 릴리즈할지 결정할 수 있다.
...
프로젝트 PDF 보고서
Audit trailing
프로젝트 이전
테스트 / 스테이지 라이센스
컴포넌트 무결성
Data resiliency
Horizontal scalability
브랜치 분석
다음은 브랜치 분석의 예시 화면을 보여준다.
...