이 문서는 SonarQube 서버 환경에서 소나큐브의 새 프로젝트를  생성하고, 언어·빌드 도구·CI/CD 환경에 맞는 분석 설정과 토큰 발급 과정을 단계별로 안내해 주는 방법을 정리합니다.

SonarQube Onboarding (On-Prem Server + IDE)

1. 프로젝트 생성

  • 관리자(Admin)가 SonarQube UI에서 새 프로젝트를 생성

  • Project Key + Project Name 입력

  • 접근 권한(공개/비공개) 설정

2. 품질 정책 지정

  • Quality Profile: 언어별 규칙 지정 (예: Java → Sonar way)

  • Quality Gate: 품질 승인 (빌드 통과) 기준 지정 (예: 커버리지 ≥ 80%, Blocker Bug = 0)

3. 프로젝트 인증 토큰 발급

  • SonarQube UI → Project Settings → Security → Generate Token

  • 이 토큰을 IDE 플러그인, 빌드 도구(Maven/Gradle), CI/CD 도구 Jenkins, GitHub 등에서 사용

4. IDE 플러그인 설치 (SonarQube IDE)

SonarQube와 IDE를 연결해서, 개발자가 코드 작성 중 즉시 품질 피드백을 받을 수 있도록 함.

  • 지원 IDE: IntelliJ IDEA, Eclipse, Visual Studio, VS Code

  • 플러그인: SonarQube for IDE

  • 설치 후 “Connected Mode”로 SonarQube 서버와 연동

5. IDE 연결 설정 (SonarQube IDE Connected Mode)

  • IDE에서 SonarLint 설정 → SonarQube 서버 URL + 토큰 입력

  • 특정 프로젝트를 SonarQube와 연결 → IDE가 서버의 Quality Profile을 자동 동기화

  • 효과:

    • 로컬에서 코드를 작성하는 순간 SonarQube 규칙을 적용한 실시간 피드백 제공

    • IDE의 경고/알림이 SonarQube 분석과 일관성 유지

세부 설정 방법은 링크 참고

6. 코드 분석기 선택 및 설정

분석기 별 상세 구성 방법은 링크 참고 바랍니다.

  • Maven/Gradle 프로젝트:

    • mvn sonar:sonar 또는 ./gradlew sonarqube

  • CLI 프로젝트:

    • sonar-scanner 명령어 사용

  • 설정 파일 (sonar-project.properties 예시):

    sonar.projectKey=com.curvc:my-app
    sonar.projectName=CURVC My App
    sonar.sources=src/main/java
    sonar.tests=src/test/java
    sonar.java.binaries=target/classes
    sonar.host.url=http://sonarqube.mycompany.local:9000
    sonar.login=${SONAR_TOKEN}

소나큐브 분석 파라미터 설명은 링크 참고

7. CI/CD 파이프라인 연계

CI 도구별 분석 구성 방법은 링크 참고 바랍니다.

  • Jenkins / GitLab CI / Tekton 등에 SonarQube 분석 단계 추가

  • Quality Gate 상태를 빌드 승인 조건으로 설정 → 실패 시 배포 차단

8. 결과 확인 및 지속 개선

  • SonarQube UI: Bugs, Vulnerabilities, Code Smells, Coverage 확인

  • IDE (SonarLint): 즉시 피드백으로 개발 단계에서 품질 문제 최소화

  • CI/CD: 품질 게이트 결과에 따라 자동 빌드 실패/성공 조건을 적용하면 팀 전체 코드 품질 표준화 가능

적용 절차 요약

  1. 서버: 프로젝트 생성 + 품질 정책 지정

  2. 서버: 인증 토큰 발급

  3. IDE: SonarLint 설치 → SonarQube 연결 (Connected Mode)

  4. 개발자: IDE에서 코딩 → 실시간 품질 피드백

  5. 개발자/CI: Maven/Gradle/CLI로 분석 실행

  6. CI/CD: 품질 게이트 적용, 실패 시 빌드 차단

  7. 팀/개발자: SonarQube 대시보드에서 결과 확인

  • 레이블 없음