SW/Gradle

Gradle: SonarQube로 코드 품질 관리 가이드, 예제, 방법

얇은생각 2025. 3. 3. 07:30
반응형

SonarQube, 왜 필요할까요?

개발하다 보면 코드가 점점 복잡해지고, 예상치 못한 오류나 보안 문제가 발생할 때가 많죠. SonarQube는 이런 문제를 사전에 감지하고 코드 품질을 한층 더 높여주는 도구입니다. 덕분에 코드가 깔끔해지고 유지보수가 한결 수월해지죠. 이번 글에서는 Gradle과 SonarQube를 연동하는 방법부터, 코드 스캔을 실행하고 분석하는 과정까지 쉽게 설명해드릴게요!

 

Gradle: SonarQube로 코드 품질 관리 가이드, 예제, 방법

 

1단계: Gradle 프로젝트에 SonarQube 플러그인 추가하기

SonarQube를 사용하려면 먼저 build.gradle 파일에 플러그인을 추가해야 합니다.

  • 프로젝트 폴더에서 build.gradle 파일을 엽니다.
  • plugins 섹션에 아래 코드를 추가하세요:
plugins { id 'org.sonarqube' version '3.0' }

 

2단계: SonarQube 실행하고 코드 스캔하기

플러그인을 추가했다면, 이제 코드를 분석해볼 차례입니다!

  • 터미널(또는 명령 프롬프트)을 열고 프로젝트의 루트 디렉터리로 이동하세요.
  • 다음 명령어를 실행하면 됩니다:
gradle sonarqube
  • 이 명령어를 입력하면 SonarQube 스캐너가 실행되면서 코드의 문제점을 찾아줍니다.

 

3단계: SonarQube 분석 결과 확인하기

스캔이 완료되면 SonarQube가 자동으로 보고서를 생성합니다. 기본적으로 localhost:9000에서 실행되니, 브라우저를 열고 확인할 수 있습니다.

 

보고서 보는 법

  1. 웹 브라우저에서 http://localhost:9000/으로 이동하세요.
  2. 로그인한 후, Projects 탭에서 프로젝트를 선택합니다.
  3. 대시보드에서 다음과 같은 정보를 확인할 수 있습니다:
    • 버그(Bugs): 코드 속 잠재적인 오류
    • 보안 취약점(Vulnerabilities): 악의적인 공격에 취약할 가능성이 있는 부분
    • 코드 스멜(Code Smells): 유지보수가 어려운 비효율적인 코드 패턴

 

4단계: SonarQube에서 발견한 문제 해결하기

보고서를 보니 몇 가지 문제들이 보이시나요? 괜찮아요, 하나씩 해결하면 됩니다!

  • 어노테이션 추가하기:
    @Override
    public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException {
        PrintWriter writer = response.getWriter();
        writer.println("Hello, world!");
    }
    
  • 예외 처리 추가하기:
    try {
        PrintWriter writer = response.getWriter();
    } catch (IOException e) {
        e.printStackTrace();
    }
    

 

수정 후 다시 스캔 실행하기

코드를 수정했으면, 다시 한 번 SonarQube를 실행하여 문제가 해결됐는지 확인해보세요:

gradle sonarqube

 

그리고 대시보드를 새로고침하면 변경된 상태를 확인할 수 있습니다.

 

5단계: SonarQube 설정을 내 스타일에 맞게 조정하기

SonarQube는 기본 설정 그대로 사용해도 좋지만, 필요에 따라 맞춤 설정이 가능합니다.

  • 서버 URL 변경하기:
    sonarqube {
        properties {
            property "sonar.host.url", "http://your-sonarqube-server:9000"
        }
    }
    
  • 인증 토큰 설정하기:
    sonarqube {
        properties {
            property "sonar.login", "your-sonarqube-token"
        }
    }
    

 

마무리하며: SonarQube, 한 번 써보니 어때요?

SonarQube, 생각보다 괜찮죠? 처음 설정할 때 약간 손이 가긴 하지만, 한 번 적용해놓으면 코드 품질이 확 달라지는 걸 체감할 수 있을 거예요. 버그를 미리 잡고, 보안 이슈도 예방할 수 있으니 유지보수가 한결 편해집니다.

이제 SonarQube를 프로젝트에 적용해서 직접 사용해보세요! 앞으로 개발할 때 더 적은 스트레스로 더 좋은 코드를 작성할 수 있을 겁니다. 🚀

반응형