
품질 게이트, 다중 언어 스캐닝, CI/CD 워크플로우에서 취약점 및 유지보수성 문제를 탐지하는 보안 중심 규칙을 갖춘 코드 품질 및 정적 분석 플랫폼입니다.
SonarQube는 애플리케이션의 상태를 보여줄 뿐만 아니라 새로 유입된 문제를 강조하는 기능도 제공합니다. 품질 게이트(Quality Gate)를 설정하면 클린 코드(Clean Code)를 달성하여 코드 품질을 체계적으로 개선할 수 있습니다.
지원 질문("어떻게 하나요?", "이 오류가 발생했는데 왜 그런가요?" 등)이 있을 경우, 먼저 문서를 읽어 보신 후 SonarSource 커뮤니티를 방문해 주세요. 이미 답변이 있을 가능성이 높습니다! 🤓
이 포럼은 커뮤니티이므로 기본적인 예의("안녕하세요", "감사합니다" 등)를 갖추시기 바랍니다. 그리고 답변이 달리지 않더라도 게시글을 올린 후 최소 3일은 기다린 뒤 다시 올리세요. 운영자가 대기하고 있지 않습니다. 😄
새 기능을 요청하거나 버그를 신고하려면 포럼에 새 게시글을 만들어 주세요.
저희는 기능 기여를 적극적으로 찾고 있지 않다는 점을 유의해 주세요. 사실 SonarSource 외부의 누군가가 저희의 로드맵과 기대치를 맞추는 것은 매우 어렵습니다. 따라서 저희는 일반적으로 사소한 외관 변경과 오타 수정만 수용합니다.
이 점을 감안하여 코드 기여를 제출하려면 이 저장소에 풀 리퀘스트를 만들어 주세요. 이 변경을 기여하려는 동기를 설명해 주세요: 어떤 문제를 해결하려는지, 어떤 개선을 이루려는지.
저희 코드 스타일을 따르고 모든 테스트가 통과하는지 확인해 주세요(각 풀 리퀘스트에 대해 Travis 빌드가 실행됩니다).
SonarSource 제품에 기여하고 싶으신가요? 저희는 세계적 수준의 코드 품질 솔루션을 구축하는 데 도움을 줄 똑똑하고 열정적이며 유능한 인재를 찾고 있습니다. 현재 채용 공고를 확인해 보세요!
로컬에서 소스를 빌드하려면 다음 지침을 따르세요.
-x test를 추가하여 비활성화할 수 있습니다(테스트 실행 없이 빌드만 하려는 경우 유용).프로젝트 기본 디렉터리에서 실행합니다:
./gradlew build
zip 배포 파일은 sonar-application/build/distributions/에 생성됩니다. 압축을 풀고 다음을 실행하여 서버를 시작합니다:
# Linux에서
bin/linux-x86-64/sonar.sh start
# 또는 MacOS에서
bin/macosx-universal-64/sonar.sh start
# 또는 Windows에서
bin\windows-x86-64\StartSonar.bat
프로젝트를 한 번도 빌드한 적이 없다면, 평소처럼 빌드하거나(이전 섹션 참조) 더 빠른 명령을 사용하세요:
./gradlew ide
그런 다음 IntelliJ 또는 Eclipse에서 루트 파일 build.gradle을 프로젝트로 엽니다.
| ./gradlew 명령 | 설명 |
|---|---|
dependencies | 의존성 나열 |
spotlessApply | HEADER를 적용하여 소스 헤더 수정 |
wrapper --gradle-version 5.2.1 | wrapper 업그레이드 |
SonarQube UI(저희가 부르는 이름으로는 웹앱)는 다른 저장소에 있습니다: sonarqube-webapp.
sonarqube 저장소를 빌드하면 웹앱이 Maven Central에서 의존성으로 자동 다운로드됩니다. 덕분에 웹앱을 신경 쓸 필요 없이 백엔드 변경 사항에 쉽게 기여할 수 있습니다.
하지만 기여 내용에 UI 변경 사항도 포함되어 있다면 sonarqube-webapp 저장소를 클론하고, 그곳에서 변경 작업을 수행한 뒤 로컬에서 빌드하고, 그다음 WEBAPP_BUILD_PATH 환경 변수를 사용하여 맞춤 빌드한 UI를 대상으로 sonarqube 저장소를 빌드해야 합니다.
수행 방법의 예는 다음과 같습니다:
cd /path/to/sonarqube-webapp/server/sonar-web
# 변경 작업 수행
# 의존성 설치, 처음에만 필요
yarn
# 웹앱 빌드
yarn build
cd /path/to/sonarqube
# 웹앱의 맞춤 빌드를 사용하여 sonarqube 저장소 빌드
WEBAPP_BUILD_PATH=/path/to/sonarqube-webapp/server/sonar-web/build/webapp ./gradlew build
또한 ./gradle.properties 파일의 webappVersion 속성을 업데이트한 다음 sonarqube 저장소를 일반적인 방법으로 빌드하면 특정 버전의 웹앱을 대상으로 지정할 수도 있습니다.
과거에는 번역 파일이 sonar-core/src/main/resources/org/sonar/l10n/core.properties에 저장되었지만, 이 파일은 이제 더 이상 사용되지 않으며 더 이상 업데이트되지 않습니다.
기본 번역(영어)은 이제 웹앱 저장소의 다음 위치에 정의되어 있습니다:
https://github.com/SonarSource/sonarqube-webapp/blob/master/libs/sq-server-shared/src/l10n/default.ts
형식은 변경되었지만 다음 명령을 실행하면 여전히 .properties 파일 형식으로 가져올 수 있습니다:
cd /path/to/sonarqube-webapp/server/sonar-web
# 의존성 설치, 처음에만 필요
yarn
# 모든 번역 키가 포함된 하위 호환 가능한 .properties 파일 생성
yarn generate-translation-keys
다른 언어로의 번역 확장 기능을 기여하는 방식은 여전히 이전과 동일하게 작동합니다. 변경된 것은 기본 번역의 출처(진실의 원천)뿐입니다.
Copyright (C) SonarSource Sàrl.
GNU 약소 일반 공중 사용 허가서, 버전 3.0에 따라 사용이 허가됩니다.