SonarQube 7.9.1 기준으로 작성함
개인 공부용으로 사용하는 것이라 windows 기준으로 설명함
SonarQube는 코드에서 버그, 취약점 및 code smell을 감지하는 자동 code review tool이다.
기존 workflow와 통합하여 프로젝트 branches와 pull request 간 지속적인 코드 검사를 가능하게 한다.
Community, Developer, Enterprise, Data Center 4종류가 있고 이 중 Community 에디션이 free & opensource이다.
현재 25개 언어를 대상으로 code review를 할 수 있다.
SonarQube 설치하기 (Docker 기준)
SonarQube만 사용하면 로컬 H2 캐시로 code review 결과가 저장된다.
따로 DB에 저장하는 것이 좋다.
이번 버전부터 mysql은 더 이상 지원하지 않는다.
https://community.sonarsource.com/t/end-of-life-of-mysql-support/8667
postgreSQL을 권장하므로 설치해본다.
docker run -d --name postgres -p 5432:5432 -e POSTGRES_PASSWORD=bluesky -e POSTGRES_USER=bluesky --network bluesky-network postgres
해당 서버에 database를 생성한다
CREATE DATABASE "sonarqube"
sonarqube를 생성한다.
docker run -d --name sonarqube
-p 9000:9000 \
-e sonar.jdbc.username=bluesky \
-e sonar.jdbc.password=bluesky \
-e sonar.jdbc.url=jdbc:postgresql://localhost/sonarqube \
sonarqube
해당 서버에 접속하면 된다. http://localhost:9000
SonarQube 설치하기 (직접 설치 기준)
1년 전쯤엔 windows 10 pro의 docker에서 SonarQube가 잘 동작했는데 현재 버전 (7.9.1)에서 send message failed netty4 tcpchannel이 발생하고 서버가 계속 다운된다.
docker를 사용하지 않고 직접 다운로드하여 설치한 경우는 잘 동작한다.
https://www.sonarqube.org/downloads/
zip 파일을 다운로드하여 압축을 풀고 해당 폴더의 conf/sonar-properties에 db 설정을 한다.
sonar.jdbc.username=bluesky
sonar.jdbc.password=bluesky
sonar.jdbc.url=jdbc:postgresql://localhost/sonarqube
bin 폴더의 적당한 os의 실행파일을 실행한다.
scanner 다운로드하기
SonarQube 3.x 이전엔 maven 설정 후 mvn sonar:sonar 명령을 통해 SonarQube를 실행했지만 이후엔 scanner가 제공된다.
https://docs.sonarqube.org/latest/analysis/scan/sonarscanner/
scanner를 다운로드하여 적당한 위치에 풀고 sonar-project.properties 가 있는 위치에서 해당 파일을 실행하면 된다.
sonar-project.properties는 대강 다음과 같다.
sonar.projectKey=bluesky-boot
sonar.projectName=bluesky-boot
sonar.projectVersion=0.0.1-SHAPSHOT
sonar.scm.provider=git
sonar.sources=src/main
sonar.tests=src/test
sonar.java.binaries=.
sonar.java.source=11
sonar.sourceEncoding=UTF-8
sonar.modules=bluesky-boot-autoconfigure
bluesky-boot-autoconfigure.projectBaseDir=bluesky-boot-autoconfigure
C:\Users\luver\git\bluesky-boot>C:\Users\luver\sonar-scanner-4.0.0.1744-windows\bin\sonar-scanner.bat
code review 결과는 아래처럼 저장된다.
'Study > CI&CD' 카테고리의 다른 글
SonarLint & Connected Mode를 STS(Eclipse)에서 사용해보기 (0) | 2022.07.08 |
---|---|
[troubleshooting] sonatype nexus BufferUnderflowException 발생 (0) | 2022.02.21 |
[troubleshooting] docker nerdctl pull 명령어 사용 시 received unexpected HTTP status: 503 Service Unavailable 응답 오는 경우 (0) | 2021.12.21 |
jenkins execute shell 에서 사용할 수 있는 환경 변수 목록 확인 (0) | 2021.08.05 |
github 사용 유용한 팁 모음 (0) | 2021.04.01 |
[troubleshooting] maven jib build 사용 시 snapshot update가 안되는 경우 (0) | 2020.10.22 |
Jenkins 에서 Maven Project 동적으로 버전 변경하여 빌드하기 (0) | 2020.09.12 |
[troubleshooting] jenkins sonarqube scanner could not find 'java' executable in java_home or path. (0) | 2020.04.22 |
Docker가 Window에서 Disk 활성시간이 100%가 되고 응답없는 경우 (0) | 2019.08.02 |
Docker에 Spring Cloud Data Flow 설치하기 (0) | 2019.08.01 |