1
我試圖讓sonarqube分析與使用VS2013(TFS 2013)上的構建(msbuild 12)一起運行。淨4.5.2)解決方案。我已經安裝了SonarQube服務器併成功運行手動掃描。MSBuild 2.2.0.24無法獲得SonarQube掃描儀工作:在.cs文件上訪問路徑
我在生成服務器(d:\ sonarqubeMSbuild ..)上使用tfvcTemplate.12.xaml以及預編譯和後編譯腳本指向sonarqube.scanner.msbuild.exe,其中包含相應的開始和結束參數。我已啓用詳細模式來幫助理解問題。
我總是得到下面的錯誤堆棧上的失敗TFS生成日誌:
09:51:40.907 ERROR: Failed to analyze the file: D:\Builds\29\SD\ApplicationDemoTestsUnit_MAN\src\PreuvesDeConcept\TestsUnitaires\Application\CompteBancaire.cs
09:51:40.907 ERROR: System.UnauthorizedAccessException: Access to the path 'D:\Builds\29\SD\ApplicationDemoTestsUnit_MAN\src\PreuvesDeConcept\TestsUnitaires\Application\CompteBancaire.cs' is denied.
09:51:40.907 ERROR: at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
09:51:40.907 ERROR: at System.IO.FileStream.Init(String path, FileMode mode, FileAccess access, Int32 rights, Boolean useRights, FileShare share, Int32 bufferSize, FileOptions options, SECURITY_ATTRIBUTES secAttrs, String msgPath, Boolean bFromProxy, Boolean useLongPath, Boolean checkHost)
09:51:40.907 ERROR: at System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share)
09:51:40.907 ERROR: at SonarAnalyzer.Runner.CompilationHelper.GetSolutionFromFiles(String filePath, Encoding encoding, AnalyzerLanguage language)
09:51:40.907 ERROR: at SonarAnalyzer.Runner.Program.RunAnalysis(ScannerAnalyzerConfiguration conf)
09:51:40.985 ERROR: Error during SonarQube Scanner execution
java.lang.IllegalStateException: The .NET analyzer failed with exit code: 1 - Verify that the .NET Framework version 4.5.2 at least is installed.
文件訪問錯誤使用過程監控構建服務器上驗證:
High Resolution Date & Time: 2017-01-04 09:51:40,9043151
Event Class: File System
Operation: CreateFile
Result: ACCESS DENIED
Path: D:\Builds\29\SD\ApplicationDemoTestsUnit_MAN\src\PreuvesDeConcept\TestsUnitaires\Application\CompteBancaire.cs
TID: 5232
Duration: 0.0000914
Desired Access: Generic Read/Write
Disposition: Open
Options: Synchronous IO Non-Alert, Non-Directory File, Open No Recall
Attributes: n/a
ShareMode: None
AllocationSize: n/a
身份試圖訪問該文件是我的構建代理運行的域服務帳戶。此帳戶可以完全訪問文件系統,並且是生成計算機上的管理員。
任何關於這個問題的想法將不勝感激!
謝謝
我們要求讀取/寫入文件,這是我們的錯誤。以下是修復該問題的相應憑單:https://jira.sonarsource.com/browse/SLVS-1122。不過,我不確定這會解決您的問題。在許多情況下拋出'UnauthorizedAccessException',並且票證僅修復一個。你可能會面對另一個。你能檢查你的文件是否只讀嗎? – Tamas
Tamas,你是正確的文件是隻讀的,來自源代碼控制的構建代理執行獲取最新的內容,並且所有內容在構建服務器的文件系統中都是「只讀」。謝謝!我會盡量繞過,看看它是否有幫助。不應該每個人都使用掃描儀的msbuild在自動構建中遇到這個問題? –
我們很快就會修好票。之前沒有人報告過這個問題,所以我不認爲每個人都受到影響。另外,請注意,這個問題隻影響msbuild12的構建,而msbuild14我們並沒有自己讀取這些文件。 – Tamas