SonarQube 리뷰 및 Azure DevOps 연결

 

SonarQube를 테스트 해야할 일이 생겼다. 정확히는 무엇이고 어떤 정적분석들을 진행하는지 리뷰가 필요하다.

간단히 진행하고, github 연결 등은 이미 많은 문서가 있으니, Azure DevOps(이하 ADO) 연결을 해보았다.

 

SonarQube란 무엇인가?

sonarqube.png

코드 "정적분석" 도구로, 코드를 리뷰해 버그나 취약점을 자동으로 검출하는 코드리뷰 도구이다.

SonarQube® is an automatic code review tool to detect bugs, vulnerabilities, and code smells in your code. It can integrate with your existing workflow to enable continuous code inspection across your project branches and pull requests.

SonarQube Documentation | SonarQube Docs

 

 

SonarQube docker 설치 및 실행

community edition - docker 설치로 진행.

SonarQube 버전은 9.1.0이며, Azure의 클라우드 ubuntu VM에 설치했다.

 

참조링크: Try Out SonarQube | SonarQube Docs

 

sudo docker pull sonarqube

# 미리 열어둔 8080 포트가 있어서 이곳으로 라우트
sudo docker run -d --name sonarqube -e SONAR_ES_BOOTSTRAP_CHECKS_DISABLE=true -p 8080:9000 sonarqube:latest

# 접속 URL
http://<AzureVM-FQDN>.southeastasia.cloudapp.azure.com:8080

# 최초 로그인 - admin / admin 

 

접속하면 바로 로그인 페이지가 열리고 admin/admin을 넣고 접속한다.

 

SonarQube 접속

sonarqube2.png

접속하면 repo를 선택하게 된다. github 말고 ADO(Azure DevOps)를 사용한다.

 

ADO 설정

PAT token만 필요하다. Authenticate with personal access tokens - Azure DevOps | Microsoft Docs 문서에서 PAT를 생성할 수 있다. 이 과정이 끝나면 repo를 선택하고 SonarQube 프로젝트를 생성, 정적분석이 가능하다.

 

정적분석

나는 github에서 clone한 예제 python repo를 이용했다.

일반적인 정적분석 도구보다 조금 더 자세하게? (유료이니 당연한가) 분석이 진행되고 결과도 예쁘게 나오는 것 같다.

이후 프로젝트 막바지에 실제 셀프 체크 용도로 사용하면서 조금 더 상세한 내용을 리뷰 예정.

 

참고링크:

(사전조사) python 언어에 대해서도 So.. : 네이버블로그 (naver.com)

sonarQube 정적 코드 분석 (기초편) (tistory.com)

[IT정보] 소나큐브(SonarQube) : 네이버 블로그 (naver.com)






XE Login