Etc.

[SonarQube] + SonarScanner : mac 설정 및 분석

ㅋ. ㅋ 2024. 2. 26. 16:44

# SonarQube 소나큐브 설치

 

SonarQube는 도커로 설치할 것이다..

왜냐면 그냥 설치하려면 자바에 환경변수 설정도 해야하고

도커 까는게 더 간단하다

 

Get Started | Docker

Get started with Docker Desktop and join millions of developers in faster, more secure app development using containers and beyond.

www.docker.com

여기 들어가서 자기 OS랑 칩 맞게 도커 설치 해주면 된다

 

 

Code Deployment Tools & Software | SonarQube

New SonarQube versions are delivered both as zip files and Docker images. And STIG-hardened images are available from the Iron Bank.

www.sonarsource.com

docker pull sonarqube:10.3.0-community

현재 가장 최신 버전이다

터미널에 저 명령어 치면 된다

 

CPU 실화인가?

도커 열고 이미지 열고 컨테이너 들가서 소나큐브 Actions run 버튼 누르기

 

localhost:9000 들어가면 로그인 화면이 뜬다

최초 ID/비번은 admin admin

 

 

 

# SonarScanner 소나스캐너 설치

 

이제 SonarScanner를 사용해야한다

잘은 모르는데 소나스캐너로 코드를 스캔하고 스캔결과를 소나큐브로 보낸다

소나스캐너는 터미널로 까는게 쉽다

brew install sonar-scanner

은 아니고 

export SONAR_HOME=/usr/local/Cellar/sonar-scanner/5.0.1.3006(설치한버전)/libexec
export SONAR=$SONAR_HOME/bin
export PATH=$SONAR:$PATH

이거 설정 해줘야한다

 

 

# 소나큐브 실행

 

다시 로컬호스트 9000 소나큐브 접속해서 프로젝트 생성

test용이라 로컬로 간단하게 만들어보겠습니다

 

잘 몰라서 글로벌 세팅했다

 

다른 CI 플랫폼으로는 gitlab연동만 (오로지 연동) 해봤는데 그건 젤 밑에 설명 해놨다

일단 로컬로 테스트 Locally 클릭

 

 

토큰을 새로 발급 받으면 아래와 같이 뜬다

친절하게 무슨 명령어를 써야하는지 알려주심

 

sonar-scanner \
  -Dsonar.projectKey=test \
  -Dsonar.sources=. \
  -Dsonar.host.url=http://localhost:9000 \
  -Dsonar.token=adfgadfgh

저 명령어 복사해서 터미널에 치면 된다

 

남이 쓰던 노트북을 물려받게되어 노트북 이름이 내 이름이 아니라 가렸ㄷㅏ

그러면 이렇게 뜬다

INFO:

????? 원래 이렇게 아무것도 안뜨는게 맞나

sonar scanner info blank 빈칸

저 빈칸만 2398567093845645684936줄 떠서 오륜가 했는데

인내심을 갖고 30분 넘게 기다리니까 분석 완료 됨

 

localhost:9000 들어가서 결과 보면 됩니다

 

 

 

# sonarqube - gitlab 연동

 

깃랩 User Settings - Access Tokens들어가서 발급을 받아야한다

발급 된 액세스 토큰은 다시 못 보니 따로 저장해야한다

 

 

 

액세스토큰을 받았으면 다시 소나큐브로 돌아온 후

Create Project

근데 깃랩 이미 연동을 해버려서 .. 연동 취소 하는법을 모르겠어서 사진만 깃헙 걸로 하겠습니다 

configuration name은 약간 프로젝트 이름 같은 느낌

아무거나 쳐도 된다

다시 생각해보니 프로젝트 이름이랑 같으면 좋을것 같다

 

GitLab API URL은 깃허브 리포지토리 주소 치고 뒤에 /api/v4 붙이면 된다

그리고 액세스 토큰은 아까 발급 받은 거 붙여 넣으면

따란 ~ 이제 임포트 쉽게 해서 사용 가능한