0

我已经成功设置了 SonarQube 和 C# 插件。我在让 Sonarqube 扫描仪工作时遇到了麻烦。

我有以下 SonarQube.Analysis.xml

<SonarQubeAnalysisProperties  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://www.sonarsource.com/msbuild/integration/2015/1">

  <Property Name="sonar.host.url">sonar.dnbad.nl</Property>

  <Property Name="sonar.login">...</Property>
  <Property Name="sonar.password">....</Property>

  <Property Name="sonar.verbose">true</Property>

  <!-- Required only for versions of SonarQube prior to 5.2 -->
  <!--
  <Property Name="sonar.jdbc.url">jdbc:jtds:sqlserver://mySqlServer/sonar;instance=SQLEXPRESS;SelectMethod=Cursor</Property>
  <Property Name="sonar.jdbc.username">sonar</Property>
  <Property Name="sonar.jdbc.password">sonar</Property>
  -->

</SonarQubeAnalysisProperties>

当我运行示例时,SonarSource-sonar-examples-3e5f679我得到以下输出:

SonarQube Scanner for MSBuild 2.0
Default properties file was found at D:\ServApps\SonarQubeScannerForMSBuild\SonarQube.Analysis.xml
Loading analysis properties from D:\ServApps\SonarQubeScannerForMSBuild\SonarQube.Analysis.xml
sonar.verbose=true was specified - setting the log verbosity to 'Debug'
Pre-processing started.
Using environment variables to determine the download directory...
Preparing working directories...
Removing the existing directory: E:\test\projects\languages\csharp\ConsoleApplication1\.sonarqube
Creating directory: E:\test\projects\languages\csharp\ConsoleApplication1\.sonarqube
Creating directory: E:\test\projects\languages\csharp\ConsoleApplication1\.sonarqube\bin
SonarQube server url: sonar.dnbad.nl
Checking for updates...
Downloading SonarQube.MSBuild.Runner.Implementation.zip from sonar.dnbad.nl/static/csharp/SonarQube.MSBuild.Runner.Implementation.zip to E:\test\projects\languages\csharp\ConsoleApplication1\.sonarqube\bin\SonarQube.MSBuild.Runner.Implementation.zip

Unhandled Exception: System.Net.WebException: Could not find a part of the path 'E:\test\projects\languages\csharp\ConsoleApplication1\sonar.dnbad.nl\static\csharp\SonarQube.MSBuild.Runner.Implementation.zip'. ---> System.Net.WebException: Could not find a part of the path 'E:\test\projects\languages\csharp\ConsoleApplication1\sonar.dnbad.nl\static\csharp\SonarQube.MSBuild.Runner.Implementation.zip'. ---> System.IO.DirectoryNotFoundException: Could not find a part of the path 'E:\test\projects\languages\csharp\ConsoleApplication1\sonar.dnbad.nl\static\csharp\SonarQube.MSBuild.Runner.Implementation.zip'.
   at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
   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)
   at System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share, Int32 bufferSize, FileOptions options, String msgPath, Boolean bFromProxy)
   at System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share, Int32 bufferSize, Boolean useAsync)
   at System.Net.FileWebStream..ctor(FileWebRequest request, String path, FileMode mode, FileAccess access, FileShare sharing, Int32 length, Boolean async)
   at System.Net.FileWebResponse..ctor(FileWebRequest request, Uri uri, FileAccess access, Boolean asyncHint)
   --- End of inner exception stack trace ---
   at System.Net.FileWebResponse..ctor(FileWebRequest request, Uri uri, FileAccess access, Boolean asyncHint)
   at System.Net.FileWebRequest.GetResponseCallback(Object state)
   --- End of inner exception stack trace ---
   at System.Net.WebClient.DownloadFile(Uri address, String fileName)
   at System.Net.WebClient.DownloadFile(String address, String fileName)
   at SonarQube.Bootstrapper.BuildAgentUpdater.TryUpdate(String hostUrl, String targetDir, ILogger logger)
   at SonarQube.Bootstrapper.Program.PreProcess(IBuildAgentUpdater updater, IBootstrapperSettings settings, ILogger logger)
   at SonarQube.Bootstrapper.Program.Execute(String[] args, IBuildAgentUpdater updater, ILogger logger)
   at SonarQube.Bootstrapper.Program.Main(String[] args)

看起来跑步者正在尝试创建路径,但它在路径中包含声纳 url,而不是目录.sonarcube\bin

有什么建议么?

4

1 回答 1

1

您将主机名而不是 URL 传递给sonar.host.url,因此使用的方案不明确。您应该完全定义 URL:

<Property Name="sonar.host.url">http://sonar.dnbad.nl</Property>

于 2016-05-13T11:42:56.560 回答