SQ Official Doc Link: https://docs.sonarqube.org/display/SCAN/Analyzing+with+SonarQube+Scanner+for+MSBuild
By SonarSource – MIT – Issue Tracker – Sources SonarQube Scanner for MSBuild 4.0.0.821 |
Table of Contents
기능
SonarQube Scanner for MSBuild는 SonarSource와 Microsoft 가 협업을 통해 개발 및 제공하며, MSBuild 프로젝트 및 솔루션을 SonarQube로 분석하기 위해 권장합니다.
커맨드라인 명령어를 통해 사용 가능하며, VSTS-TFS 및 Jenkins의 빌드 스텝으로 활용할 수 있습니다.
설치
- .NET Framewaor v4.6+ 를 설치합니다.
- Java Runtime Environment 8을 설치합니다.
- 최신 버전의 SonarQube Scanner for MSBuild 를 다운로드 합니다(이 페이지 상단의 링크를 참조하십시오).
- zip 파일의 블럭을 해제합니다(마우스 우 클릭 file > Properties > Unblock).
- sonar-scanner-msbuild-[version].zip 파일의 압축을 풉니다. (예: C:\SonarQube\bin)
- C:\SonarQube\bin\SonarQube.Analysis.xml 파일의 다음 파라미터를 입력합니다:
sonar.host.url
- 사용할 SonarQube 서버의 URLsonar.login
- Execute Analysis 권한을 가진 사용자의 Analysis 값을 입력합니다. Anonymous 계정이 해당 권한을 가지고 있지 않은 경우 이 값을 입력해야 합니다
- SonarQube.Analysis.xml 파일에 대한 접근권한을 적절하게 설정해, 불필요한 수정을 방지합니다.
- %PATH% 환경 변수에 실행 파일이 위치한 디렉토리를 추가합니다.
사용
분석하고자 하는 프로젝트의 루트 폴더에서 다음 명령어를 실행합니다:
SonarQube.Scanner.MSBuild.exe begin /k:"org.sonarqube:sonarqube-scanner-msbuild" /n:"Project Name" /v:"1.0" MSBuild.exe /t:Rebuild SonarQube.Scanner.MSBuild.exe end
분석을 위해 추가 파라미터를 설정해야할 경우 추가 파라미터 페이지를 참조하십시오.
커맨드 라인에서 분석 인증 정보(사용자 토큰)를 전달해야 하는 경우,/d:
옵션을 사용하십시오(예:/d:sonar.login=[my token value
)분석 종료 후 터미널에 표시되는 SonarQube UI Url을 브라우저에 입력하여 결과 페이지로 합니다.
기타
MSBuild 용 스캐너를 MSBuild 파이프라인의 일부로 구성할 수 있습니다. 이 경우 다음의 속성들이 변경됩니다:
- 프로젝트의 기존 코드 분석기들을 모두 제거하여, 이슈를 중복 식별하는 것을 방지합니다.
- SonarC# 및 SonarVB 분석기가 추가되며,
CodeAnalysisRuleSet
이 SonarQube의 quality profile에 맞추어 업데이트 됩니다. - SonarQube에 분석 보고서가 전송되기 전에 빌드가 깨지지 않도록
WarningAsError
기능이 비활성화 됩니다.
If your build process cannot tolerate these changes, we recommend creating a second job for SonarQube analysis.
Also,
- Project build is required between the
begin
andend
commands./t:Rebuild
is used above as an example. - Sensitive properties such as "
sonar.login
" and "sonar.password
" are not persisted on disk for security reasons. If you wish to pass them as command line arguments, you will have to so for both the "begin
" and "end
" steps. - If you are not already using MSBuild 14.0+, please refer to the Compatibility with Visual Studio and MSBuild notes.
Project Samples
To help you get started, simple project samples are available for most languages on github. They can be browsed or downloaded. You'll find them filed under projects/languages.
Known Limitations
Analysis of Web Site Solutions is not supported, however analysis of Web Application Solutions is supported.
Troubleshooting
The End Step executable was not found
If you need to run multiple analyses in rapid succession, pass /nodereuse:false
to msbuild.
Otherwise you may see the following error when the DLLs required by a new analysis are still locked by a previous analysis:
The End Step executable was not found 'D:\***\.sonarqube\bin\MSBuild.SonarQube.Internal.PostProcess.exe' . Please check that the begin step, the build step and the end step are all executed in the same directory. |
End of Central Directory record could not be found
This error is caused by an out-of-date build task. Download and install the latest version.
Add Comment