PlayGround/마실가실 리팩토링

[1년 후 마실가실] 쉬어가는 마실가실 - SonarQube

HJ0216 2024. 9. 8. 02:48

1년 전 진행했던 마실가실 프로젝트를 🛠️리팩토링하며 정리한 내용입니다.

 

리팩토링을 함께할 친구를 사귀었습니다.

그간 혼자 진행하면서, 잘하고 있는 게 맞을까 고민하는 시간이 많았는데 이제는 SonarQube가 그 고민을 어느정도 해결해줄 거라 기대하고 있습니다.😆.

 

이 친구의 정의는 ' 버그, 코드 스멜, 보안 취약점을 발견할 목적으로 정적 코드 분석으로 자동 리뷰를 수행하기 위한 지속적인 코드 품질 검사용 오픈 소스 플랫폼'입니다.

 

간단하게 설정 방법과 IntelliJ에서 플러그인으로 설치하는 방법, 그리고 어떤 식으로 사용했는지까지 간단히 정리해 보고자 합니다🫠.

 

1. SonarQube Comminity Edition 다운로드

https://www.sonarsource.com/products/sonarqube/downloads/

 

Download | SonarQube

Get the latest LTS and version of SonarQube the leading product for Code Quality and Security from the official download page.

www.sonarsource.com

 

2. SonarQube CLI Window x64 다운로드(저는 윈도우를 씁니다🫠)

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

 

SonarScanner CLI

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

docs.sonarsource.com

 

3. SonarQube 서버 띄우기

sonarqube-10.6.0.92116\sonarqube-10.6.0.92116\bin\windows-x86-64\StartSonar.bat 실행

'SonarQube is operational' 문구가 뜰 때까지 대기

 

4. localhost:9000 접속

초기 아이디: admin

초기 비밀번호: admin

 

5. Create Project

 

저는 이미 마실가실 리팩토링 프로젝트를 생성한 상태입니다!

 

프로젝트 소스코드 위치 선택: 저는 로컬 파일을 대상으로 할 것이기 때문에 Mannually를 선택하였습니다.

CI와 통합할 수도 있지만, 저는 로컬 파일을 대사응로 SonarQube를 사용할 것이기 때문에 Locally를 선택하였습니다.

그 다음으로는 토큰을 생성하고(🚨토큰 값은 어디에 적어둡니다),

빌드 옵션에 따라서, 추가적인 작업을 진행합니다.

 

저는 gradle을 쓰고 있기 때문에,

* build.gradle

plugins {
	id "org.sonarqube" version "5.0.0.4638"
}

 

플러그인을 추가하고, 빌드를 해줍니다.

🚨빌드를 하지 않으면 SonarQube관련 명령어 입력 후 빌드 실패가 발생하니 빌드를 해줘야 합니다.

 

build.gradle 파일이 위치한 곳에서 

PowerShell을 켜서 gradle 관련 명령어를 입력합니다.

  * 플러그인 아래에 명령어가 적혀있습니다.

 

+ IntelliJ에서 Plugin으로 SonarQube를 설치할 수 있습니다.

 

이젠 더이상 혼자가 아닙니다.

저에겐 리팩토링 친구가 생겼습니다🤓.

 

++ SonarQube 문제 해결 순서

1. 가장 최근 분석 결과부터 수정

2. Duplication부터 수정

 

 

 

🙋‍♀️

본 포스트는 공부 목적으로 작성하였습니다.
보시는 도중 잘못된 부분이나 개선할 부분이 있다면 댓글로 알려주시면 수정하도록 하겠습니다.

 

📑

참고 자료

https://samori.tistory.com/78

 

SonarQube 사용법 (Windows)

서론 Static Code Analysis Tool, 정적코드분석툴로 불리는 이 툴은 보통 개발자가 개발을 하고 배포하기 전에 프로젝트 소스 코드에 문제가 있는지, 있다면 어떠한 문제가 있는지 분석하고 체크하기

samori.tistory.com

https://velog.io/@ttanggin/HowtoStartSonarQube

 

SonarQube 시작하기

Windows 환경에서 Java 11 Maven 프로젝트에 SonarQube를 사용하여 정적분석을 해보자!

velog.io

https://brunch.co.kr/@joypinkgom/207

 

소스 정적 분석도구 SonarQube

v9.9 리뉴얼 | SonarQube 관련글은 이미 두 번이나 작성했지만 다시 한번 글을 판다. 최근 새로운 플랫폼을 기획하면서 SonarQube를 다시 설치할 일이 생겼는데, 메이저 버전이 10이 됐더라. 처음 SonarQub

brunch.co.kr