SonarQube
왜 쓰나 — 리뷰로는 안 잡히는 것들
사람이 리뷰에서 잘 놓치는 것들을 기계가 대신 잡습니다.
| 분류 | 예 |
|---|---|
| 보안 | SQL 인젝션 가능 경로, 하드코딩된 자격증명 |
| 버그 | null 역참조, 닫히지 않는 리소스, 도달 불가 코드 |
| 냄새 | 중복 코드, 과도한 복잡도, 죽은 코드 |
이 프로젝트가 ${whereClause} 같은 문자열 SQL 을 금지하고 테스트로 강제하는 것도 보안 스캐너 지적을 구조적으로 없애기 위해서입니다 → Java/Spring 컨벤션 · 문자열 SQL 금지
설치는 선택입니다
로컬 설치 없이도 개발에 지장은 없습니다. 아래는 로컬에서 미리 확인하고 싶을 때의 절차입니다.
1. SonarQube 설치
1.1 소나큐브, 스캐너 설치
bash
brew install sonarqube
brew install sonar-scanner1.2 소나큐브 실행 및 접속
bash
brew services start sonarqube- 웹 관리자 접속:
http://localhost:9000 - 기본 계정: admin / admin
2. 마켓플레이스에서 플러그인 설치
Administration 탭>Marketplace에서 플러그인을 검색하여 설치CheckStyle플러그인을 설치- 소나큐브 재시작

3. 커스텀 룰셋 등록
3.1 룰셋 복사
- 예시로 정확한 indent size 를 위해
CheckStyle플러그인에서 지원하는 룰셋 1개만 등록해보자.
Quality Profiles탭 >Java로 검색하여 기본 룰셋을 복사- 복사한 룰셋의
Rules로 이동
3.2 Rules 설정
- 모든
Rules를 비활성화 - indent size 에 대한
Rules만 활성화
3.3 프로젝트 등록
Quality Profiles탭으로 이동- 룰셋
profile로 이동 - 스캔할 프로젝트를 등록
