2015년 11월 2일 SQ v5.2가 릴리즈 되었습니다. IT기업 기준으로 fortune 10대 기업 중 7개, Fortune 100대 기업 중 47개 기업, 전세계적으로 50,000개 이상의 고유 인스턴스가 사용되고 있는 SQ는 명실공히 최고 수준의 정적분석 플랫폼이라 할 수 있을 것 같습니다1.

버전 자체로 보면 마이너 변경이지만, 릴리즈 노트의 내용을 살펴보면 UI/UX 상의 큰 개선은 물론 내부적인 변경이 꽤 많은 판올림입니다. 몇몇 속성이 삭제되었기 때문에 해당 속성을 사용해서 관리를 하시는 분들은 약간 주의를 하셔야 할 것 같구요. 이후 릴리즈 될 v5.3은 cross projects duplication 기능이 포함될 예정이기 때문에 이를 위한 사전 준비 작업들도 한 것으로 보입니다. 보다 세부적인 내용은 v5.2릴리즈 노트를 참고하시기 바랍니다.


Dashboards/ 대시보드

대시보드 리스트 화면에서 각 대시보드의 레이아웃과 위젯을 즉시 변경할 수 있도록 편의성을 높였습니다.

  • 대시보드의 레이아웃과 위젯 설정을 변경할 수 있습니다(Dashboards > Configure Widgets).



Projects/ 프로젝트 관리

프로젝트 관리를 위한 몇몇 유용한 기능들이 추가되었습니다.

  • 프로젝트 단위로 기본 이슈 담당자를 설정할 수 있게 되었습니다. 신규 이슈는 기본 담당자에게 자동적으로 할당됩니다(프로젝트 > Administration > General Settings > General > Issues).

  • 프로비저닝/고스트 프로젝트를 리스트업 할 수 있게 되었습니다(Administration > Projects > Management).

  • 분석 대기/성공/실패 프로젝트를 리스트업 할 수 있게 되었습니다(Administration > Projects > Background Tasks).



Issues/ 이슈

코딩 규칙 위반 항목 정보를 표시하고 관리하는 Issues 기능 역시 일부 개선 되었습니다.

  • Issue 페이지 진입시 사용자가 미리 지정한 filter로 빠르게 접근할 수 있게 되었습니다. 구 버전까지는 프로젝트(전체 혹은 단일 프로젝트)의 코딩 규칙 위반 내역 전체을 전부 표시했지만, 새로운 버전 부터는 시스템에 정의된 세가지 필터Unresolved Issues, False Positive and Won’t Fix, My Unresolved Issues 및 사용자 정의 filter를 선택할 수 있습니다.

  • 이슈의 규모를 두 가지 지표로 확인할 수 있습니다. 구 버전까지는 이슈 개수 정보만을 제공했으나, v5.2에서는 기술 부채값으로 표시하는 기능을 제공합니다(Issues 메인 화면 좌측 상단 > Issues/ Debt).

  • Rule 상세 보기 내용은 페이지의 하단의 독립된 공간으로 이동하였습니다.

  • 발생한 이슈와 비슷한 이슈들을 한 번에 찾아볼 수 있습니다(각 이슈의 우측 상단 linkage 아이콘 클릭).

  • 이슈 정보를 일괄적으로 변경할 수 있게 되었습니다(Issues 메인 화면 우측 상단 > Bulk Change).



Measures/ 지표(검색)

구 버전에서 ‘Manual Measures’라는 명칭이 ‘Custom Measures’라는 명칭으로 변경 되었습니다. 눈에 띄는 기능상의 변경은 없습니다.

  • Custom Measures를 생성하고 관리하는 UI가 일신되었습니다(Administration > Configuration > Custom Measures).



Rules/ 코딩 규칙

Rules 기능에는 큰 변화가 없습니다.

  • Rules 검색 워크 스페이스에 ‘Activiation Severity’ 항목이 추가되었습니다.



Quality Profiles(QP)/ 품질 프로파일

사용자 인터페이스의 변화가 가장 눈에 띄는 기능입니다. Quality Profile이 다른 정적 분석 도구에 비해 SQ의 특화된 기능인 만큼 이전 버전의 Quality Profile 기능의 부족한 점들을 훌륭하게 개선해 낸 것 같습니다. 분리되어 있던 사용자의 동선을 대폭으로 줄였습니다 :)

  • 프로파일과 관련된 모든 정보(규칙, 상속, 프로젝트 연결, 변경 로그 등)를 한 페이지에서 확인하고 변경할 수 있습니다.

  • 프로파일과 관련된 모든 작업(생성, 복사, 변경, 상속, 비교, 백업 및 복원)을 한 페이지에서 수행할 수 있습니다.

  • 다양한 색상을 사용헤 기능 버튼 및 정보를 표시해서 시인성을 높였습니다.

  • 특정한 품질 프로파일에 연결되어 있는 프로젝트 리스트를 추출할 수 있습니다.

Quality Gates(QG)/ 품질 게이트

Quality Gate는 특별히 변경된 점은 없네요. 시각적으로 조금 더 깔끔해졌습니다.



Administrations/ 시스템 관리

구 버전에서 ‘Settings’라는 명칭에서 ‘Administrations’라는 명칭으로 변경되었습니다. 개인적으로 새로운 용어가 SonarQube가 표방하는 ‘플랫폼’의 느낌을 주는 것 같습니다. 보다 직관적이기도 하고요 :)

사용자 관리

  • 사용자 관리 페이지의 UX/UI가 개선되었습니다(Administrations > Security > Users).

  • 그룹 관리 페이지의 UX/UI가 개선되었습니다(Administrations > Security > Groups).

  • 글로벌/ 프로젝트 권한 페이지의 UX/UI 역시 한층 개선되었습니다(Administrations > Security > Global Permissions/ Project Permissions).


업데이트 관리

업데이트 센터의 UX/UI도 개선되었습니다(Administrations > System > Update Center).

  • 개별적으로 플러그인을 선택하지 않아도 플러그인을 설치할 수 있도록 개선되었습니다.
  • 설치된 플러그인/ 업데이트가 릴리즈된 플러그인/ 설치 가능한 플러그인 표시가 새로워졌습니다.
  • 플러그인이 알파벳 순으로 정렬되어 표시됩니다. 플로그인 이름 우측 파란색 버튼을 누르면 카테고리로 정렬되는 데… 어쩐지 구버전의 방식이 훠씬 나아보이네요;;



기타 개션

주요하게 눈에 띄는 부분들만 요약해서 리스트업했습니다. 보다 세부적인 내용은 v5.2릴리즈 노트를 참고하시기 바랍니다.

기능 변경

  • [SONAR-5770] - 지연된 분석 보고서에 대한 사용자 알림 제공
  • [SONAR-5684] - Quality Profile을 export 시 xml 파일의 내용을 알파벳 순으로 정렬
  • [SONAR-5685] - Quality Profile 백업본 로딩 시, 중복된 규칙에 대한 주의 메시지 표시
  • [SONAR-6251] - ‘Exclusions’ 기능을 ‘Analysis Scope’으로 변경
  • [SONAR-6269] - ‘Projects links’의 ‘Issues’ 기능을 ‘Bug Tracker’로 변경
  • [SONAR-6341] - Provisioning projects 일괄 삭제 기능 추가
  • [SONAR-6704] - Preview 분석시 scm-stats 플러그인 비활성화
  • [SONAR-6720] - Elasticsearch 1.7.1 업그레이드
  • [SONAR-6392] - Measure trends 기능 삭제
  • [SONAR-6553] - ‘Design’ 관련 기능–Design/ Libraries/ Dependencies–및 관련 메트릭 삭제
  • [SONAR-6772] - JSON report를 기본적으로 저장하지 않음
  • [SONAR-6851] - 새로운 프로젝트를 분석 시 ‘Provision Project’ 권한 필요
  • [SONAR-6236] - ‘Issues widgets’이 ‘Issue Filter widget’으로 대체
  • [SONAR-6860] - ‘Technical Debt Synopsis’ 위젯 추가
  • [SONAR-2119] - SonarQube instance와 Database를 물리적으로 이원화. 별도의 SQL을 통해 database에 분석 결과 저장 가능
  • [SONAR-6167] - MSSQL 2104 지원
  • [SONAR-6863] - Windows에 설치된 SonarQube를 위해 Integrated Authentication for SQL Server 지원
  • [SONAR-6434] - Oracle 10g를 지원 중단
  • [SONAR-6832] - SonarQube Runner 2.3 지원 중단

속성 변경

  • [SONAR-6293] - ‘sonar.search.host’ 속성 추가
  • [SONAR-6517] - ‘sonar.includePlugins/sonar.excludePlugins’ 속성 삭제
  • [SONAR-6621] - ‘sonar.qualitygate’ 속성 삭제
  • [SONAR-6861] - ‘sonar.preventAutoProjectCreation’ 속성 삭제
  • [SONAR-6926] - ‘cross project duplication activation’ 속성 일시 사용 중단
  • [SONAR-6886] - ‘sonar.jdbc.user’ 속성 삭제

메트릭 변경

  • [SONAR-6725] - ‘PACKAGES’ 단위 연산 메트릭 삭제
  • [SONAR-6727] - ‘RFC’, ‘RFC_DISTRIBUTION’ 및 ‘LCOM4_DISTRIBUTION’ 단위 연산 메트릭 삭제



  1. SonarQube User Conference 2015 통계 기준. http://www.sonarqube.org/mainstream-noun-the-principal-or-dominant-course-tendency-or-trend/