이 문서는 SonarQube Sonar Scanner Maven 코드 분석을 위한 가이드를 공유하기 위해 작성되었다.
Maven 다운로드
Maven을 빌드하기 다음 링크를 통해 Maven을 다운로드 받는다.
적절한 경로에 다운로드 받은 Maven 파일을 압축 해제한다.
- ex) D:\apps\Sonarsource\apache-maven-3.6.3
SonarQube Scanner Maven 분석 실행
분석할 Maven Java 프로젝트로 이동한다. 아래 링크를 참고한다.
예로 다음 경로로 이동한다.
- D:\apps\Sonarsource\Samplecode\sonar-scanning-examples-master\sonarqube-scanner-maven\maven-basic
다음 명령을 수행한다.
mvn clean install mvn sonar:sonar -Dsonar.host.url=http://localhost:9000 -Dsonar.projectKey=sample-sonar-maven-scanner -Dsonar.projectName="Sample Sonar Maven Scanner"
예로 다음과 같이 수행할 수 있다.
D:\apps\Sonarsource\apache-maven-3.6.3\bin\mvn clean install D:\apps\Sonarsource\apache-maven-3.6.3\bin\mvn sonar:sonar -Dsonar.host.url=http://localhost:9000 -Dsonar.projectKey=sample-sonar-maven-scanner -Dsonar.projectName="Sample Sonar Maven Scanner"
다음과 같이 실행됨을 확인할 수 있다.
SonarQube Scanner Maven 분석 결과 확인
다음 사이트에 접속하여 분석 결과를 확인한다.
- localhost:9000
분석 예외를 위한 파라미터 설정
1. 입력 폴더만 분석
모든 폴더 분석
- -Dsonar.sources=.
src 하위 분석
- -Dsonar.sources=src
다음 예시는 src 폴더 만을 분석합니다.
- ex) mvn sonar:sonar -Dsonar.host.url=http://localhost:9000 -Dsonar.projectKey=mavensimple -Dsonar.sources=src
2. 특정 패턴에 따른 분석
2.1 분석 시 포함 (ant 정규식 문법)
- -Dsonar.inclusions=패턴
다음 예시는 java 파일만 분석하는 예시 입니다.
- ex) mvn sonar:sonar -Dsonar.host.url=http://localhost:9000 -Dsonar.projectKey=mavensimple -Dsonar.inclusions=**/*.java
2.2 분석 시 제외 (ant 정규식 문법)
exclusions은 상위 sonar.sources 하위 에 적용됩니다. 그렇기 때문에 sonar.sources 파라미터와 같이 사용합니다.
- -Dsonar.exclusions=패턴
다음 예시는 target 및 하위 폴더를 분석 제외하는 예시 입니다.
- ex) mvn sonar:sonar -Dsonar.host.url=http://localhost:9000 -Dsonar.projectKey=mavensimple -Dsonar.sources=. -Dsonar.exclusions=target/**/*