Skip to content

SonarQube ​

왜 쓰나 — 리뷰로는 안 잡히는 것들

사람이 리뷰에서 잘 놓치는 것들을 기계가 대신 잡습니다.

분류예
보안SQL 인젝션 가능 경로, 하드코딩된 자격증명
버그null 역참조, 닫히지 않는 리소스, 도달 불가 코드
냄새중복 코드, 과도한 복잡도, 죽은 코드

이 프로젝트가 ${whereClause} 같은 문자열 SQL 을 금지하고 테스트로 강제하는 것도 보안 스캐너 지적을 구조적으로 없애기 위해서입니다 → Java/Spring 컨벤션 · 문자열 SQL 금지

설치는 선택입니다

로컬 설치 없이도 개발에 지장은 없습니다. 아래는 로컬에서 미리 확인하고 싶을 때의 절차입니다.

1. SonarQube 설치 ​

1.1 소나큐브, 스캐너 설치 ​

bash
brew install sonarqube
brew install sonar-scanner

1.2 소나큐브 실행 및 접속 ​

bash
brew services start sonarqube
  • 웹 관리자 접속: http://localhost:9000
  • 기본 계정: admin / admin

2. 마켓플레이스에서 플러그인 설치 ​

  1. Administration 탭 > Marketplace 에서 플러그인을 검색하여 설치
  2. CheckStyle 플러그인을 설치
  3. 소나큐브 재시작

sonarqube_01

3. 커스텀 룰셋 등록 ​

3.1 룰셋 복사 ​

  • 예시로 정확한 indent size 를 위해 CheckStyle 플러그인에서 지원하는 룰셋 1개만 등록해보자.
  1. Quality Profiles 탭 > Java 로 검색하여 기본 룰셋을 복사
  2. 복사한 룰셋의 Rules 로 이동 sonarqube_02

3.2 Rules 설정 ​

  1. 모든 Rules 를 비활성화
  2. indent size 에 대한 Rules 만 활성화 sonarqube_03

3.3 프로젝트 등록 ​

  1. Quality Profiles 탭으로 이동
  2. 룰셋 profile 로 이동
  3. 스캔할 프로젝트를 등록 sonarqube_04