Skip to Content
Suffering builds character
아카이브25.devopsSonarQube개요2.소나큐브

2.소나큐브

1.Sonar 

Sonar는 프로젝트의 코드 베이스(Source code)가 높은 수준의 코드 품질(Clean code)을 유지할 수 있도록 지원하는 정적 분석 도구

DevOps 파이프라인 중 애플리케이션 빌드(Build & Test) 및 서비스 배포(Merge & Promote) 과정 사이에 포함될 수 있음

Sonar를 통해 개발 중인 프로젝트에서 발생할 수 있는 문제점을 미연에 방지하고, 코드 퀄리티와 개발 생산성을 높일 수 있음

이러한 검증은 Sonar에서 정의한 Quality Gate를 통해 분석 결과가 도출되며, 이를 통해 PR을 적용할지의 여부 등을 정할 수 있고, 결과적으로 일관된 규칙을 통해 코드를 분석하면서도 코드 리뷰 시간을 단축시킬 수 있음

Sonar는 크게 세 가지의 하위 솔루션을 통해 이를 지원하고 있음

1-1.SonarQube-Cloud ,

SonarQube-Cloud는 별도의 설치 없이 바로 코드 분석을 사용할 수 있는 SaaS(Software as a Service) 제품으로,

Github, Google 등을 통해 가입 후 바로 활용할 수 있음
→ 접속 주소 

SonarQube를 자체 서버를 통해 호스팅하지 않고, 바로 사용하고 싶을 때 활용하는 케이스

1-2.SonarQube-Server ,

SonarQube-Server는 코드 분석을 수행하는 서버를 자체적으로 호스팅하여 관리하고자할 때 활용할 수 있는 제품으로,

팀 전용 SonarQube 사용자 계정을 만들고 활용할 수 있음

이러한 SonarQube-server는 Binary 버전을 직접 다운로드 받아서 실행하거나, Docker 이미지를 통해 서버를 구성 및 실행할 수 있음
→ 다운로드 링크 

1-3.SonarQube-IDE, IDE에 내장된 Lint 도구, SonarLint 

SonarQube-IDE는 SonarLint라고도 불리며, Sonar에서 제공하는 IDE 확장 기능(Extension)으로,

CI/CD 워크플로우 과정에서 코드의 문제를 검증하는 것이 아닌, IDE 상에서 코드를 작성하는 과정에서 발생할 수 있는 이슈들을 미리 확인하고 고칠 수 있도록 제공해주는 린트 도구

💡
Tip

Sonar의 솔루션별 기능의 제공 범위 차이

Sonar에서는 하위 솔루션별로 제공되는 기능에 차이가 있음
→ https://docs.sonarsource.com/sonarqube-community-build/feature-comparison-table/ 

Last updated on