JIRA

SonarSource SonarQube는 조직에서 개발된 코드의 지속적인 인스펙션을 통해 품질 목표를 달성할 수 있게 해주는 오픈 소스 플랫폼입니다. 소스 코드 품질 현황을 가시화, 리스크 분석, 소스 코드에서 발생하는 문제를 해결함으로써 소프트웨어 비즈니스를 위해 반드시 필요한 솔루션 입니다. 다음은 SonarQube의 주요 특징을 보여준고 있습니다.



소스 코드 품질 현황

프로젝트의 홈페이지에는 품질 게이트, 버그, 취약성, 코드 Smell, 중복코드 정보를 한눈에 보여주며 프로젝트 코드가 품질 측면에서 어떤 위치에 있는지를 표시합니다. 빌드와 통합을 통해 소스 코드 품질의 변화를 즉각적으로 확인할 수 있습니다.




새로운 문제(Leak)에 포커스

워터 릭 패러다임(Water leak paradigm)은 코드 품질 관리를 위한 간단하지만 파워풀한 방법입니다. 소스 코드가 추가되거나 변경되면 코드는 무엇보다 먼저 제어되어야 합니다. 일단 새로 발생된 문제들이 제어되면 코드 품질이 기계적으로 향상되기 시작합니다. SonarQube에서 이는 기본적인 내장 개념이며, 새로운 문제가 발생하면 즉각적으로 알려줍니다.




품질 게이트(Quality Gate) 적용

SonarQube에서 개발자는 자신의 코드 품질에 대한 소유권을 가질 수 있습니다. 모든 팀에서 코드 품질 관리를 수행하기 위해, 품질 게이트를 설정할 필요가 있습니다. 품질 게이트는 조직에서 원하는 코드 품질 요구사항의 집합이며 이를 통해 코드를 출시할 수 있는지를 판단할 수 있습니다.




이슈 처리(Dig)하기

프로젝트의 이슈 페이지는 주요 문제이 위치, 코드 위치, 코드에 추가된 시점, 코드를 작업한 사람 등을 자세하게 분석할 수 있게 해줍니다. 이러한 이슈가 발생하면 이메일을 통해 알림을 받을 수 있으며, 이메일의 링크를 클릭하여 나에게 할당된 이슈 리스트를 확인할 수 있습니다.




핫 스팟(Hot spot) 강조

SonarQube는 테스트 커버리지 부족과 중복 코드 발견, 이 2가지를 주요 소프트웨어 문제 규정합니다. "Measures" 페이지에서는 프로젝트를 Reliability, Security, Maintainablity, Coverage, Duplications, Size, Complexity 등 여러 방법으로 탐색하여 주의가 필요한 파일을 강조 표시하고 버블 차트를 제공하여 잠재적인 핫 스팟을 강조합니다.




다양한 빌드와의 통합

Java, C#, C, C++, Objective-C와 같은 언어는 빌드 없이 코드 품질에 대한 정보를 제공하기 힘들기 때문에 MSBuild, Maven, Gradle, Ant, Makefiles에 기본적인 통합 기능이 제공됩니다.




CI 엔진과의 통합

JIRA에서는 대시보드를 위한 다양한 가젯을 제공합니다.

사용자는 자신만의 대시보드를 만들 수 있으며, 팀원들에게 공유하여 프로젝트 현황을 함께 확인할 수 있습니다.




룰셋(Rulesets) 공유

SonarQube는 프로젝트 분석 시 사용되는 규칙을 정의할 수 있습니다. 이 룰 세트는 품질 프로파일로 구성되고 조직의 모든 구성원은 프로젝트에 적용되는 규칙을 확인할 수 있습니다. 프로젝트 관리자는 자신의 프로젝트에 사용할 품질 프로파일을 선택할 수 있습니다.




Cross projects services

SonarQube의 대부분의 서비스는 프로젝트를 아울러 사용할 수 있습니다. 예로 개발자는 자신에게 할당되는 모든 새로운 이슈를 이슈 서비스에서 사용할 수 있어 업무에 집중할 수 있습니다. 팀장은 프로젝트 페이지에서 희망하는 프로젝트를 리스트할 수 있고 탐색할 수 있습니다.




리스크 기반 뷰(Views)

경영진은 거버넌스 제품의 일부로 제공되는 집계된 대시보드를 사용하여 프로젝트 품질에 대한 큰 그림을 얻고 리스크를 평가할 수 있습니다. 이 대시보드는 신뢰성, 보안, 유지보수성, 릴리즈 가능성 등을 표시합니다.


다음 리스트에서 SonarQube와 관련된 다양한 정보를 확인할 수 있습니다.

정보 링크
SonarQube 솔루션 Q&A 게시판 바로가기
SonarQube 가이드 문서 바로가기
SonarQube 설치 가이드 문서 바로가기
댓글