2016-04-04 12 views
0

Wenn MSBuild.SonarQube.Runner.exe läuft (Version 2.0), erhalte ich folgende Fehlermeldung:MSBuild Sonarqube Runner Proxy-Authentifizierung

SonarQube Scanner for MSBuild 2.0 
Default properties file was found at C:\path-to-sonar\SonarQube.Analysis.xml 
Loading analysis properties from C:\path-to-sonar\SonarQube.Analysis.xml 
Pre-processing started. 
Preparing working directories... 
Checking for updates... 

Unhandled Exception: System.Net.WebException: The remote server returned an error: (407) Proxy Authentication Required. 
    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) 

Dieses auf einem Windows-Jenkins Slave ausgeführt wird, die in der Tat der Fall ist, , erfordern Proxy-Authentifizierung. Der SonarQube-Server ist nicht derselbe Server wie der Jenkins-Master oder -Slave.

Update Center befindet sich auf dem Server ausgeschaltet ist, und ich habe sogar einschließlich der folgenden Eigenschaft in der SonarQube.Analysis.xml Datei versucht (nur grinst):

<Property Name="sonar.updatecenter.active">false</Property> 

Ist es möglich auszuschalten die Update-Funktion in MSBuild SonarQube Runner?

Antwort

0

Obwohl möglicherweise verwirrend, dieses Checking for updates Protokoll ist überhaupt nicht auf das Update Center bezogen. Dies bedeutet, dass der Scanner mit dem SonarQube-Server kommuniziert, um nach aktualisierten Binärdateien zu suchen. Seien Sie also sicher, dass Sie nicht versuchen, eine öffentliche Update Center-URL zu erreichen.

Zuletzt habe ich überprüft, dass die Scanner Proxy-Authentifizierung nicht unterstützen. Ich würde jedoch annehmen, dass Jenkins-Slave/Master- und SonarQube-Server sich am selben Netzwerkstandort befinden, d. H. Nicht durch einen Proxy getrennt sind. Ich schlage vor, dass Sie die URL von SonarQube auf die weiße Liste setzen, damit sie direkt von den Scannern kontaktiert wird, ohne den Proxy zu durchlaufen.

Update: Auf der SonarQube-Scannerseite werden neue Funktionen bereitgestellt, einschließlich Proxyauthentifizierung. Weitere Details finden Sie unter SCANNERAPI-77 (es verweist auf spezifische Tickets für jeden Scanner).

Verwandte Themen