이 문서는 소나큐브(SonarQube) 에서 커스텀 룰(Custom Rule)을 생성하는 가이드를 공유하기 위해 작성되었다.
커스텀 룰을 생성하기 위해 플러그인에서 제공하는 규칙 템플릿을 사용한다.
Rules > 왼쪽 메뉴 Template > Show Templates Only에서 원하는 템플릿을 클릭한다.
해당 템플릿 페이지 하단의 "Create" 버튼을 클릭하여 새로운 커스텀 룰에 대한 정보를 입력한다.
다음의 정보를 입력 후 "Create"를 클릭하여 새로운 커스텀 룰을 생성한다.
생성된 커스텀 룰을 클릭하여 세부 정보를 확인할 수 있다.
커스텀 룰을 사용할 품질 프로필(Quality Profile)을 추가한다.
커스텀 룰 세부 정보 페이지 > Quality Profiles > "Activate" 버튼 클릭
"Quality Profile"에서 사용할 품질 프로필 선택.
새로운 품질 프로필(Quality Profile)에 커스텀 룰을 추가하고 싶은 경우, Quality Profiles > 오른쪽 "Create"버튼을 클릭하여 생성할 수 있다.
다음과 같이 세 가지 방법으로 프로필을 생성할 수 있다.
SonarQube는 내장된 기본 품질 프로필인 "Sonar way"를 상속 받아서 새로운 프로필을 생성하는 것을 권장한다. 이 경우, 자동으로 다음과 같은 이점을 얻을 수 있다.
|
Checkstyle은 코딩 표준을 준수하는 Java 코드를 작성하는 데 도움이 되는 개발 도구로서 SonarQube에서 코드 포맷이나 레이아웃 등에 대한 다양한 템플릿을 제공한다.
1. Administration > Marketplace에서 "checkstyle" 검색 후 install 버튼 클릭
2. 서버 재시작
1. Releases · checkstyle/checkstyle (github.com)에서 SonarQube 버전과 호환되는 버전의 jar파일을 다운로드 받는다.
2. <SONARQUBE_HOME>/extensions/plugins경로에 다운로드 받은 파일을 넣고 SonarQube 서버를 재시작한다.
사전 준비 사항 |
1. 커스텀 룰 생성을 참고하여 Regexp Multiline Template 템플릿에서 커스텀 룰을 추가한다.
(*Regexp Multiline Template : 정규 표현식을 사용하여 여러 줄에 걸친 코딩 스타일 위반 사항을 검사하는 기능을 제공하는 템플릿)
정보 입력 시 템플릿에 의해 지정된 정보 부분을 다음과 같이 입력한다.
2. 사용할 품질 프로필에 생성한 커스텀 룰 활성화
3. 1,2단계 설정 완료 후, 소스 코드를 분석한다.
4. 하드 코딩된 여권 번호가 있을 경우, 생성한 룰에 따라 다음과 같은 이슈가 나타난다.