본문 바로가기

Languages&Library/etc

SonarQube Python사용법

여러가지 CI랑 연동할 수 도 있음. 

여기서는 Locally에 있는 code를 대상으로 한다.

 

Token은 만든게 있다면 Use existing token을 사용하고, 

없다면 아래와 같이 Generate a project token으로 만듬.

 

Token을 만들고 나면 아래와 같이 token이 생성된다.

 

Continue를 누르고 나면 project가 어떤 type인지 선택할 수 있는 창이 뜬다.

여기서는 python으로 할 예정이니, Other를 선택한다.

 

현재 필자의 경우에는 Window OS로 세팅되어있어서 Windows로 선택을 해주면

아래와 같이 Scanner를 실행할 수 있는 명령어가 뜬다. 

 

 

그리고 python code가 있는 곳에서 바로 명령어를 실행하는 것이 아니라, 아래 sonar-scanner.bat의 경로를 수정해주어야한다.

 

sonar-scanner.bat -D"sonar.projectKey=test" -D"sonar.sources=." -D"sonar.host.url=http://127.0.0.1:9000" -D"sonar.login=token_key"

 

sonar-scanner.bat의 위치를 입력시켜줘야 하는데,

Window에서는 SonarQube외에도 sonar-scanner를 별도로 설치 해줘야 한다.

(다른 OS도 제공하는 것으로 보아 SonarScanner의 설치는 별도로 해주어야하는 듯 함)

 

https://docs.sonarsource.com/sonarqube/9.9/analyzing-source-code/scanners/sonarscanner/

 

SonarScanner

The SonarScanner is the scanner to use when there is no specific scanner for your build system.

docs.sonarsource.com

 

Window는 위와같이 Windows-64-bit를 설치해주고, 원하는 경로에 압축해제를 해준다.

 

 

D드라이브에 설치하는 경우에는 위와같은 경로에 sonar-scanner.bat파일이 존재하게 된다. 

 

 

sonar-scanner.bat -D"sonar.projectKey=test" -D"sonar.sources=." -D"sonar.host.url=http://127.0.0.1:9000" -D"sonar.login=token_key"

 

 

 

 

이 경로에 있는 python 코드들을 분석할 것인데, 그렇다면 cmd 창에서 이 경로로 들어와서 

아래와 같이 sonar-scaaner.bat의 경로를 다 입력해준다음 뒤의 명령어를 작성해준다.

 

 

 

D:\sonar-scanner-5.0.1.3006-windows\bin\Sonar-scanner.bat -D"sonar.projectKey=test" -D"sonar.sources=." -D"sonar.host.url=http://127.0.0.1:9000" -D"sonar.login=token_key"

 

 

그럼 위와 같이 분석이 되고, 완료 된 후 sonarqube 웹페이지 상에서 자동으로 리포트가 뜬다.