DevOps

[DevOps] SonarQube - Jenkins + SonarQube 연동, Gradle Project 정적 분석 Example

차노도리 2023. 6. 30. 00:15

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

 

Code Quality Tool & Secure Analysis with SonarQube

Empower development teams with a code quality & security solution that deeply integrates into your enterprise environment that enables you to deploy Clean Code securely, consistently and reliably.

www.sonarsource.com

SonarQube

  • 정적 코드 분석과 코드 품질 관리를 지원하는 오픈 소스 플랫폼
  • 이슈, 결함, 코드 복잡성등을 분석하여 코드의 품질을 평가하고 개선하여 품질을 향상
  • 버그 발견, 취약성 검사등을 수행한다.

 

sonarqube token 생성

  • 로그인 default Id : admin , default pw : admin
  • My Account -> Security -> User Token 생성

 

Jenkins + Sonaqube 연동

Plugin 설치

  • Jenkins 관리 -> plugins
    • SonarQube Scanner 설치

 

Sonarqube 토큰 등록

  • Jenkins 관리 ->  Credentials
    • sonaqube Token 등록

 

Jenkins Config 설정

  • Jenkins 관리 -> Systme
    • SonaQube servers 추가

 

 

Gradle Project + SonarQube 적용

  • 프로젝트 플러그인 추가
  • 소나 빌드 실행하기
    • ex) gradle sonarqube

https://docs.sonarqube.org/latest/analyzing-source-code/scanners/sonarscanner-for-gradle/

 

SonarScanner for Gradle

 

docs.sonarqube.org

 

 

ex) bulid.gradle

plugins {
    ...
    id("org.sonarqube") version "4.1.0.3113"
}

...

sonarqube {
    properties {
        property 'sonar.host.url', 'sonarqube 주소'
        property 'sonar.login', '생성된 토큰 Key'
    }
}

 

분석 결과 화면