클라우드

[Devops] SonarQube 사용법

예림밈 2025. 6. 8. 14:03
728x90
사이드 프로젝트 진행 중에 SonarQube를 사용해보고 싶어, 사용법을 정리해보고자 한다.

SonarQube 정의

SonarQube는 소스코드의 품질과 보안을 자동으로 분석하고 측정해주는 정적 분석 도구이다.

 

도입 배경

이번 프로젝트에서는 코드의 일관성과 유지보수성을 확보하고, 배포 전 품질 이슈를 사전에 방지하기 위해 SonarQube를 도입했다. 특히 서비스 특성상 보안이 중요한 만큼, 개발 초기 단계부터 보안 취약점을 식별하고 대응할 수 있도록 정적 분석 도구를 통해 품질과 보안을 동시에 관리하고자 한다.


SonarQube 설치 / 세팅

1. SonarQube 설치 (직접 다운로드)

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

 

Download SonarQube

Get the latest version of SonarQube, the leading product for code quality and security, from the official download page.

www.sonarsource.com

 

1-2. 설치 후 압축 파일 풀기

1. 설치된 파일 경로 이동 

cd sonarqube-25.6.0.109173/bin

 

2. 컴퓨터 환경에 맞는 폴더로 이동 (나는 Mac 환경에서 진행)

cd macosx-universal-64

 

3. 실행

 ./sonar.sh start

 

 

2.SonarQube 설치 (Docker)

SonarQube가 생각보다 디스크 차지 용량이 크기 때문에 docker로 다운받아도 된다.

  1. docker-compose.yml 작성 
version: "3"

services:
  sonarqube:
    image: sonarqube:latest # SonarQube Docker 이미지
    ports:
      - "9000:9000" # SonarQube 웹 인터페이스 포트
    environment:
      # 외부 PostgreSQL 데이터베이스 설정
      - SONAR_JDBC_URL=jdbc:postgresql://db:5432/sonar
      - SONAR_JDBC_USERNAME=이름
      - SONAR_JDBC_PASSWORD=비밀번호
    volumes:
      - sonarqube_data:/opt/sonarqube/data # SonarQube 데이터 볼륨 (분석 결과, 설정)
      - sonarqube_extensions:/opt/sonarqube/extensions # SonarQube 플러그인
      - sonarqube_logs:/opt/sonarqube/logs # SonarQube 로그
    depends_on:
      - db # db 서비스가 먼저 시작되도록 의존성 설정
    networks:
      - sonarnet

  db:
    image: postgres:15 # PostgreSQL Docker 이미지
    environment:
      - POSTGRES_USER=이름
      - POSTGRES_PASSWORD=비밀번호
      - POSTGRES_DB=db 이름
    volumes:
      - postgres_data:/var/lib/postgresql/data # PostgreSQL 데이터 볼륨
    networks:
      - sonarnet

volumes:
  sonarqube_data:
  sonarqube_extensions:
  sonarqube_logs:
  postgres_data:

networks:
  sonarnet:

 

2. 명령어 실행

docker-compose up -d

 

 

3. SonarQube 접속

  • localhost:9000 접속
  • 초기 아이디 / 비밀번호 : admin / admin
  • 이후 비밀번호 변경 페이지가 나오면서, 비밀번호 변경해주면 끝

4. 프로젝트 세팅

  1. 홈 화면 아래  Create a local project 클릭
  2. name, key 등록

3. 기본 설정 유지

 

4. 위 과정이 끝나면 아래 Locally 클릭

 

5. 프로젝트 키 생성

 

6. 프로젝트 설정에 맞는 빌드 방식 선택 (나는 Gradle에서 진행) 후 복사

 

 

5. 프로젝트 빌드

  1. 프로젝트의 build.gradle 파일에 plugins 추가

 

  2.  위에서 복사한 실행 명렁어 입력 (프로젝트 파일이 위치한 곳에서 실행)

 

  3. 완료