2.분석 처리 과정
SonarQube에서 코드 분석을 처리하는 단계는 다음과 같음
- 빌드 시스템(ex. Gradle) or CI 파이프라인은 SonarScanner를 실행
- SonarScanner는 개발 중인 프로젝트가 위치한 로컬 저장소를 스캔하고, 분석 대상이 되는 소스 코드 파일들을 결정함
💡
Tip
소나큐브에서는 분석할 코드의 범위를 사용자가 설정할 수 있도록 제공하기 때문에
관리상 분석이 불필요한 코드들은 제외할 수 있음
- SonarScanner는 작성된 소스 코드의 언어별 전문 분석기에 분석 요청을 전송, 분석기는 파일 시스템에서 분석할 파일을 가져오고, Quality profile을 기준으로 하여 코드 분석을 수행함
💡
Tip
코드 분석 과정에서 활용될 분석 규칙들이 모여진 규칙, Rule 집합
언어별 기본 제공되는 룰셋 목록
→ https://rules.sonarsource.com/java/
- 분석기는 분석 결과를 SonarScanner에 응답하고, SonarScanner는 보고서(report)의 형태로 SonarQube 서버에 전달함
- SonarQube 서버는 분석 결과를 비동기적으로 처리, 분석 결과 생성 및 사용자에게 UI로 응답
💡
Tip
분석 결과
분석 결과는 크게 두 가지로 구성됨
1.Quality measures
품질 측정 기준과 프로젝트의 전반적인 수치화된 지표를 의미하는 지표 목록,
Quality Gate와 연결되어 빌드 통과 여부를 결정함
ex. 코드 커버리지 퍼센트, 중복 코드 비율, 발생한 취약점 개수
2.issue
코드에서 발견된 개별 문제들
ex. NullPointer 발생 가능성, 하드 코딩된 비밀번호나 키값 등
Last updated on