이 문서는 SonarQube 제품의 개요를 공유하기 위해 작성되었다.
목차 |
---|
SonarQube 주요 기능
- Java, Javascript, C#, C/C++, Python 등 16개 이상 다중 언어 분석 지원
- 프로젝트 단위로 코드 분석 현황 정보 및 대시보드 제공
- 코드의 버그, 보안취약점, 코드중복, 단위테스트 커버리지, 사이즈 등 다양한 측정 정보 제공
- 특정 기간 동안 다양한 코드 측정(품질요소)에 대한 트랜드 제공
- 품질 요구사항 설정을 통한 코드 품질 측정
- Git 연동을 통한 브랜치 기반의 코드 분석 지원
- Eclispe, Intellij, Visual Studio 등 주요 개발 IDE와 연동 및 분석 결과 알림 지원
- Maven, Ant, Gradle, MSBuild, Makefile 등 빌드 통합 제공
- Jenkins, Bamboo, TeamCity 등 다양한 CI 엔진과의 통합 제공
- LDAP, Crowd 등 사용자 디렉토리 연동을 통한 계정 관리
Edition
SonarQube의 Edition별 기능 및 차이점은 다음과 같다.
Community Edition | Developer Edition | Enterprise Edition | Data Center Edition | |
---|---|---|---|---|
주요 기능 |
|
|
|
|
지원 언어 | C#, Flex, Java, JS, PHP, Python, TypeScript, HTML, JSF/JSP, XML | 커뮤니티 포함 ABAP, C++, C, PL/SQL, TSQL, Swift | Developer 포함 VB6, VB, RPG, COBOL, PL/I | Enterprise 포함 |
1 testing instance 1 staging instance | 2 staging licenses | 3 additional licenses |
Edition 별 주요 기능
Edition | 기능 | 설명 |
---|---|---|
Developer | 브랜치 분석 | Git Branch 기반으로 개발을 할 경우, SonarQube의 하나의 프로젝트에서 Branch를 모아서 분석 결과를 추적할 수 있습니다. Branch는 개발 방식에 따라 Short-lived와 Long-lived 코드 브랜치가 존재할 수 있으며, 해당 브랜치에서 안정성이 보장된 코드만이 Master 브랜치로 병합할 수 있습니다. |
Developer | SonarLint 알림 | IDE에 SonarLint가 설치되어있고 SonarQube와 연동되어있으면 서버에서 분석된 결과를 IDE의 SonarLint를 통해 알림을 받을 수 있습니다. |
Enterprise | 포트폴리오 관리 | 포트폴리오는 SonarQube에서 분석된 여러 프로젝트(저장소)를 묶어서 합계된 결과를 확인할 수 있게 구성할 수 있습니다. 기본 프로젝트의 Reliability, Security, Maintainability와 함께 품질 게이트를 실패한 비율을 Releaseability로 표시합니다. 이를 통해 해당 제품(서비스)를 릴리즈할지 결정할 수 있습니다. https://next.sonarqube.com/sonarqube/portfolio?id=MASTER_PROJECT |
Enterprise | 경영자 리포팅 | 경영자 리포팅은 포트폴리오의 결과를 경영자가 확인할 수 있게 PDF로 출력을 지원합니다. |
브랜치 분석
다음은 브랜치 분석의 예시 화면을 보여줍니다.
...