이 문서는 SonarQube와 SonarLint의 연결 모드에 대한 정보를 공유하기 위해 작성되었다.
개요
SonarLint란 무료 IDE Extension으로 코드 작성 시에 이슈를 탐지하여 수정 방안을 제시한다.
SonarQube와의 연결 모드를 통해 개발자의 로컬 프로젝트를 SonarQube 프로젝트에 바인딩하여 사용할 수 있다.
이점
코드 품질 공유
SonarLint를 사용할 때 디폴트로 Sonar Quality Profile이 사용되며 사용자는 ruleset을 정의할 수 있다.
만약 SonarQube에서 다른 quality profile을 사용하는 경우, SoanrLint에서는 커밋에 이슈가 없을지라도 SonarQube에서 새로운 이슈가 생길 수 있다.
연결모드를 사용하면 IDE와 SonarQube 모두 동일한 quality profile이 적용되어 로컬 인스턴스가 프로젝트의 quality gate 표준을 충족하지 않을 경우 IDE에서 알림을 받게 된다.
보안 강화
연결 모드에서는 SonarQube 상용 버전에서 발견된 taint analysis 이슈를 가져와서 확인할 수 있다.
프로젝트를 지속적으로 분석하는 환경에서 유용하게 사용할 수 있다.
Open in IDE 기능 사용[10.3-]
SonarQube 10.3버전부터 Issues 페이지의 "Open in IDE" 버튼을 클릭하여 taint 취약점(상용버전)을 포함한 모든 이슈를 IDE로 확인할 수 있다.
연결 모드에서 IDE에 해당 프로젝트가 열려있는 경우에 사용 가능하다.
10.3버전의 경우 IntelliJ or VS Code, 10.4버전부터 IntelliJ, Visual Studio, VS Code, or Eclipse에서 확인할 수 있다.
SonarLint 사용자 확인
SonarQube 관리자는 Administration > Security > Users의 Last SonarLint connection에서 각 사용자의 SonarLint 마지막 사용 시간을 확인할 수 있다.
활동을 기준으로 사용자를 필터링할 수 있다.
- All users : 모든 사용자
- Active users with SonarLint: 지난 30일 동안 연결 모드에서 SonarLint를 한 번 이상 사용한 사용자
- Active users without SonarLint: 지난 30일 동안 SonarQube에 한 번 이상 연결한 사용자.
- Inactive users: 지난 30일 동안 SonarQube에 연결하지 않았거나 연결된 모드에서 SonarLint를 사용하지 않은 사용자
Smart notifications
연결 모드를 사용하면 Sonarqube가 새로운 이슈를 발견할 때 개인이나 팀이 IDE에서 알림을 받을 수 있다.