Skip to end of metadata
Go to start of metadata

이 문서는 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 EditionDeveloper EditionEnterprise EditionData Center Edition
주요 기능
  • 기본 SonarQube
  • 브랜치 분석
  • SonarLint 알림
  • 포트폴리오 관리
  • 경영자 리포팅
  • 컴포넌트 리더던시
  • 데이터 무결성
지원 언어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 licenses3 additional licenses


Edition 별 주요 기능

Edition기능설명
Developer브랜치 분석

Git Branch 기반으로 개발을 할 경우, SonarQube의 하나의 프로젝트에서 Branch를 모아서 분석 결과를 추적할 수 있습니다.

Branch는 개발 방식에 따라 Short-lived와 Long-lived 코드 브랜치가 존재할 수 있으며, 해당 브랜치에서 안정성이 보장된 코드만이 Master 브랜치로 병합할 수 있습니다.

DeveloperSonarLint 알림IDE에 SonarLint가 설치되어있고 SonarQube와 연동되어있으면 서버에서 분석된 결과를 IDE의 SonarLint를 통해 알림을 받을 수 있습니다.
Enterprise포트폴리오 관리

포트폴리오는 SonarQube에서 분석된 여러 프로젝트(저장소)를 묶어서 합계된 결과를 확인할 수 있게 구성할 수 있습니다.

기본 프로젝트의 Reliability, Security, Maintainability와 함께 품질 게이트를 실패한 비율을 Releaseability로 표시합니다. 이를 통해 해당 제품(서비스)를 릴리즈할지 결정할 수 있습니다.

https://next.sonarqube.com/sonarqube/portfolio?id=MASTER_PROJECT

Enterprise경영자 리포팅경영자 리포팅은 포트폴리오의 결과를 경영자가 확인할 수 있게 PDF로 출력을 지원합니다.



브랜치 분석

다음은 브랜치 분석의 예시 화면을 보여줍니다. 


SonarLint 알림

다음은 SonarLint 알림의 예시를 보여줍니다. 

포트폴리오 

다음은 포트폴리오 구성의 예시를 보여줍니다. 


경영자 리포트 

다음은 포트폴리오에서 출력되는 경영자 리포트 PDF의 예시를 보여줍니다. 


G2 Crowd Grid for Static Code Analysis

시스템 구성

소나큐브는 복수의 sonar-scanner/lint (IDE plugin) + SonarQube 서버로 구성됩니다.

  • Sonar-scanner: 컴파일이 필요한 소스코드 유형은 빌드 시점에서 빌드 로그와 빌드 산출물 정보 수집
  • SonarLint: SonarQube 서버와 연동하여 IDE (Eclipse, MSDEV, ...)에서 interactive하게 정적분석 결과 확인
  • SonarQube: Sonar-scanner에서 업로드한 소스코드 정보 분석 및 결과 제공

  • No labels