2014-12-01 83 views
0

我在使用聲納跑步者在我的Windows詹金斯奴隸上運行聲納分析時遇到了麻煩。 當本地完成分析時,聲納服務器工作正常,並且我已經解決了數據庫連接的錯誤(數據庫連接正在爲主設備< - >從設備工作)。sonar-runner在窗戶上使用詹金斯奴隸

  • 聲納版本:4.4
  • 詹金斯版本:1.59
  • 聲納澆道版本:2.4
  • 詹金斯聲納插件版本:2.1

SONAR_RUNNER_HOME \ CONF \ sonar-runner.properties :

sonar.host.url=http://master:9000 
sonar.jdbc.url=jdbc:postgresql://master/sonar 
sonar.sourceEncoding=UTF-8 
sonar.jdbc.username=somelogin 
sonar.jdbc.password=somepassword 
sonar.login=somelogin 
sonar.password=somepassword 
sonar.java.source=1.7 

然後,sonar-runner是ru n從詹金斯奴隸(聲納屬性設置在jenkins工作)

[project] $ C:\jenkins\sonar-runner-2.4\bin\sonar-runner.bat -Dsonar.jdbc.driver=org.postgresql.Driver ******** ******** -Dsonar.host.url=http://master:9000 ******** ******** -Dsonar.projectBaseDir=C:\jenkins\workspace\project -Dsonar.sourceEncoding=UTF-8 -Dsonar.dynamicAnalysis=reuseReports -Dtransformer.sonar.projectBaseDir=Transform -Dsonar.language=java -Dsonar.sources=src -Dsonar.junit.reportsPath=reports -Dsonar.libraries=lib -Dsonar.jacoco.reportPath=reports/jacoco -Dsonar.binaries=build/classes -Dsonar.projectVersion=1.0 -Dsonar.modules=controller,transformer,controlpanel -Dsonar.projectKey=project -Dcontrolpanel.sonar.projectBaseDir=ModeControlPanel -Dcontroller.sonar.projectBaseDir=Controller -Dsonar.tests=test -Dsonar.projectName=project 
C:\jenkins\sonar-runner-2.4 
SonarQube Runner 2.4 
Java 1.7.0_55 Oracle Corporation (64-bit) 
Windows 7 6.1 amd64 
INFO: Runner configuration file: C:\jenkins\sonar-runner-2.4\conf\sonar-runner.properties 
INFO: Project configuration file: NONE 
INFO: Default locale: "en_US", source code encoding: "UTF-8" 
INFO: Work directory: C:\jenkins\workspace\project\.\.sonar 
INFO: SonarQube Server 4.4 
13:35:00.433 INFO - Load global settings 
13:35:00.635 INFO - User cache: C:\.sonar\cache 
13:35:00.646 INFO - Install plugins 
13:35:01.017 INFO - Install JDBC driver 
13:35:01.027 INFO - Create JDBC datasource for jdbc:postgresql://master/sonar 
13:35:01.112 INFO - Initializing Hibernate 
INFO: ------------------------------------------------------------------------ 
INFO: EXECUTION FAILURE 
INFO: ------------------------------------------------------------------------ 
Total time: 4.698s 
Final Memory: 11M/248M 
INFO: ------------------------------------------------------------------------ 
ERROR: Error during Sonar runner execution 
ERROR: Unable to execute Sonar 
ERROR: Caused by: You must define the following mandatory properties for 'Unknown': sonar.projectKey, sonar.projectName, sonar.projectVersion, sonar.sources 
ERROR: 
ERROR: To see the full stack trace of the errors, re-run SonarQube Runner with the -e switch. 
ERROR: Re-run SonarQube Runner using the -X switch to enable full debug logging. 

什麼嘿!?我已經定義了這些屬性!

我對多模塊的例子表示歉意,但我保證我已經嘗試過使用單個模塊,結果是一樣的。想法?

回答

0

如果從windows上的Jenkins運行聲納運行器,請不要在任何密碼字段中包含&符號(&)。我的sonar.password有這個角色。這會導致其餘的聲納參數被忽略。該設置是在Jenkins系統配置中的Sonar設置中配置的。

對不起,我的問題沒有辦法確定,但如果有人有這個奇怪的問題,他們應該檢查他們的密碼字段。爲了找到問題,我最終不得不編輯我的聲納運行器批處理腳本以顯示參數。

0

由於寫入日誌中,你錯過了以下屬性(這裏充滿爲例):

sonar.projectName=myproject 
sonar.projectVersion=0.1-SNAPSHOT 
sonar.sources=src/main/java 

我總是覺得學習sample documentation是有用的。

+0

就像寫在日誌中那樣,我已經在命令行中提供了這些屬性。 – naugler 2014-12-02 17:37:12

+1

對不起,我沒有滾動閱讀所有的命令行命令。我建議在這裏: 1.如果你想使用命令行,請正確寫入路徑(例如將c:\ jenkins \更改爲c:\\ jenkins \ ..) 2.請嘗試避免使用命令行,這樣可以確保參數傳遞正確。最簡單的方法是使用jenkins插件中的選項,在聲納參數字段中指定需要運行的聲納選項列表。 – 2014-12-09 07:15:43

+0

當我使用jenkins插件時,我將參數放在「項目屬性」部分。然而,當jenkins運行這個工作時,它將所有的屬性放在命令行中。我會嘗試你的建議#1 – naugler 2014-12-09 14:19:30