2017-05-11 62 views
2

我們在我們的數據中心和代理服務器後面安裝了Jenkins服務器。
我們試圖讓該機器在回購站上運行SonarQube掃描儀,並將結果發佈到我們網絡外部的SonarQube服務器(在AWS中)。Jenkins SonarQube掃描儀在代理服務器後面

作業正常啓動聲納掃描儀,但失敗,則嘗試連接到我們的SonarQube服務器時:

22:12:31.612 DEBUG: keyStore is : 22:12:31.613 DEBUG: keyStore type is : jks 22:12:31.613 DEBUG: keyStore provider is : 22:12:31.613 DEBUG: init keystore 22:12:31.613 DEBUG: init keymanager of type SunX509 22:12:31.682 INFO: User cache: /zdata/jenkins/.sonar/cache 22:12:31.683 DEBUG: Extract sonar-scanner-api-batch in temp... 22:12:31.687 DEBUG: Get bootstrap index... 22:12:31.687 DEBUG: Download: http://my-sq-server.com/batch/index 22:12:31.713 ERROR: SonarQube server [http://my-sq-server.com] can not be reached

我讀Sonar Runner Behind a Proxy並試圖把這些值在JVM選項部分以及附加部分但他們似乎沒有任何區別。

要解決這個問題,我只需通過bash腳本添加一個簡單的curl步驟到Jenkins作業,並且已經打到相同的服務器,並且工作正常。

我確定我只是在這裏錯過了一個小小的細節,但我是新來的SQ,並不知道還有什麼地方看。

UPDATE

電流輸出顯示這樣的:

/zdata/jenkins/tools/hudson.plugins.sonar.SonarRunnerInstallation/scanner-3.0.1.733/bin/sonar-scanner -Dhttp.proxyHost=proxy.hostname.com -Dhttp.proxyPort=8080 -e -Dsonar.host.url=http://my-sonarqube-server.com ******** -Dsonar.sourceEncoding=UTF-8 -Dsonar.sources=. -Dsonar.language=js -Dsonar.exclusions=__tests__/**,**/node_modules/**,coverage/** -Dsonar.projectVersion=1.0 -Dsonar.projectKey=repo-key -Dsonar.verbose=true -Dsonar.javascript.lcov.reportPath=coverage/lcov.info -Dsonar.tests=__tests__ "-Dsonar.projectName=Project Name" -Dsonar.projectBaseDir=/zdata/jenkins/workspace/my-project

+0

您可以精確地使用您正在使用的掃描儀的版本嗎?我們在最近的版本中對代理做了幾處改進。 –

+0

3.0.1.733(和Jenar 2.6.1的SonarQube掃描儀) – arsdehnel

+0

嘗試將'-Djavax.net.debug = all'傳遞給JVM選項。這將記錄網絡相關的操作。這是非常詳細的,但應該有助於理解發生了什麼。如果你不能「讀」輸出,我建議你在SonarQube用戶組上創建一個新的線程。 SO不適合調查問題。 –

回答

3

檢查,如果你的代理服務器需要身份驗證:您可能必須添加

-Dhttp.proxyUser=username -Dhttp.proxyPassword=password 

確保您的代理作爲代理服務器名稱的參考,不包括http://

-Dhttp.proxyHost=myproxy (not -Dhttp.proxyHost=http://myproxy) 
+0

我添加了Jenkins的當前日誌輸出。我們的代理不需要認證。 – arsdehnel

相關問題