백엔드 개발자 블로그

SonarQube 본문

Programming/유지보수

SonarQube

backend-dev 2024. 7. 25. 09:00

SonarQube란?

정적 코드 분석(중복 코드, 코딩 표준, 유닛 테스트, 코드 커버리지, 코드 복잡도, 주석, 버그 및 보안 취약점)도구

 

사용하는 이유

  • 20개 이상의 프로그래밍 언어지원
  • 무료 오픈 소스 플랫폼
  • 진단 보고서를 제공

주의점

언어마다 라이센스가 다름

 

구성

1) SonarQube Server : SonarQube Scanner 로 업로드한 소스 코드 분석
2) SonarQube Database : SonarQube 분석 결과 저장
3) SonarQube Scanner : SonarQube 분석을 위해 소스 코드 업로드

 

docker로 사용하는 방법

1. docker-compose.yaml 파일 생성

services:
  sonarqube:
    image: sonarqube:lts-community
    ports:
      - '39270:9000'
    networks:
      - sonarnet
    container_name: sonarqube
    environment:
      - sonar.jdbc.url=jdbc:postgresql://postgres:5432/sonar
      - sonar.jdbc.username=sonar
      - sonar.jdbc.password=sonar
    volumes:
      - sonarqube_data:/opt/sonarqube/data
      - sonarqube_extensions:/opt/sonarqube/extensions
      - sonarqube_logs:/opt/sonarqube/logs
      
  postgres:
    image: postgres:14.2
    ports:
      - '35432:5432'
    networks:
      - sonarnet
    container_name: postgres
    environment:
      - POSTGRES_USER=sonar
      - POSTGRES_PASSWORD=sonar
    volumes:
      - postgresql:/var/lib/postgresql
      - postgresql_data:/var/lib/postgresql/data

networks:
  sonarnet:
    driver: bridge
    

volumes:
  sonarqube_data:
  sonarqube_extensions:
  sonarqube_logs:
  postgresql:
  postgresql_data:

 

2. docker로 실행

$ docker-compose up -d

'Programming > 유지보수' 카테고리의 다른 글

Prometheus & Grafana  (0) 2024.05.27