SonarQube
Multi-Language
| 25+ Programming Languages
SonarQube는 주요 프로그래밍 언어에 대한 코드 분석 결과를 제공합니다.
각 언어 별 소스 코드 품질을 파악할 수 있는 다양한 규칙을 제공합니다.
ABAP / COBOL / JavaScript / PHP / Swift / XML
Apex / Flex / Kotlin / Python / T-SQL / C/C++
Go / Objective-C / RPG / TypeScript / C# / HTML
PL/SQL / Ruby / VB.NET / CSS / Java / PL/I / Scala / VB6
| Multi-Language Projects
대부분의 응용 프로그램은 “C#, C++ 및 JavaScript” 또는 “Java, JavaScript 및 HTML” 등과 같이 여러 프로그래밍 언어를 한 번에 사용합니다.
SonarQube는 이러한 프로그래밍 언어를 자동으로 감지하고 해당 분석기를 호출합니다.
| Languages Consistency
기존의 언어에서 다른 언어로 전환할 때 변경내역을 설명하고 태그 지정 및 이슈 보고 등의 작업이 일관성 있게 유지됩니다.
또한 언어를 변경하였음에도 반복되는 이슈 패턴을 분석하여 언어 변경 시 이를 검토 및 수정할 수 있도록 지원합니다.
DevOps Integration
| Build Systems
SonarQube는 JavaScript, PHP, Python 등과 같은 동적인 언어 분석을 완벽하게 수행합니다. 또한 Java, C#, C++ 및 Objective-C와 같은 언어를 지원하기 위하여 MSBuild, Maven, Gradle, Ant, Makefiles 등의 도구와 통합 기능을 제공합니다.
| CI Engines
사용자의 빌드 시스템과 통합을 기본적으로 제공하여 Jenkins, Azure DevOps(VSTS/TFS), Travis-CI 등의 CI 엔진 분석이 가능합니다.
| Pass/Fail Notification
SonarQube를 통한 분석이 완료됨과 동시에 서버에 보고서가 전송됩니다.
이 보고서를 기반으로 webhook 메커니즘을 통해 외부 시스템에 알림, 대시보드 업데이트 등 다양한 작업을 수행할 수 있습니다
| Promotion Pipelines
SonarQube는 webhooks을 사용하여 파이프 라인의 단계적 통합이 가능합니다.
이를통해 Quality Gate를 기준을 통과하는 준수한 소스코드를 릴리즈 할 수 있습니다.
| Full Web API
SonarQube 웹 API를 사용하여 SonarQube 프로젝트를 자동으로 프로비저닝(provision)하고 BI 툴 공급, 모니터링이 가능합니다.
모든 웹 API의 목록과 정의는 SonarQube에 기본적으로 내장되어 있습니다.
| High Availability
분산된 글로벌 개발팀 및 대규모 프로젝트에 대한 효율적인 개발 시간 대비 높은 코드 품질을 보장하십시오.
Centralize Quality
| All projects in one place
SonarQube를 사용하면 코드 품질을 극대화하고 작업 방식을 간편하게 중앙 집중화 및 확장 할 수 있습니다.
| Unified Quality Gate
SonarQube는 Leak 개념에 중점을 둔 Quality Gate 기능을 기본으로 제공하여 하나의 요구사항이 다양한 프로젝트에 적용될 수 있도록 지원합니다.
| Shared rulesets
SonarQube는 프로젝트 분석 시 사용되는 규칙을 간편하게 설정 및 관리할 수 있도록 rilesets을 제공합니다.
| Cross projects services
SonarQube 대부분의 기능을 다양한 크로스 프로젝트 모니터링에 적용하여 소스코드 품질을 체크할 수 있습니다.
| Risk-based views
타임 라인 차트를 통해 시간 경과에 따른 프로젝트 품질의 변화를 평가하거나 프로젝트 품질에 대한 리스크를 평가하여 제품의 신뢰성, 보안 및 유지보수 비용 등을 평가할 수 있습니다.
| Parallel report processing
사용자가 보유하고 있는 프로젝트와 요구사항의 통계와 복잡도를 분석하여 효율적인 보고서 생성 및 작업을 관리할 수 있습니다.