在Windows上使用jenkins奴隶的声纳 - 跑步者

时间:2014-12-01 18:52:38

标签: jenkins sonar-runner

我无法使用声纳跑步者在我的Windows Jenkins奴隶上进行声纳分析。 当在本地完成分析时,声纳服务器运行良好,我已经使用数据库连接解决了错误(数据库连接适用于主< - > slave)。

  • 声纳版本:4.4
  • Jenkins版本:1.59
  • 声纳 - 跑步者版本:2.4
  • Jenkins声纳插件版本: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

然后,声纳运行器从Jenkins奴隶运行(声纳属性设置在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.

嘿嘿!?我已经定义了这些属性!

我为多模块示例道歉,但我保证我尝试使用单个模块,结果是一样的。想法?

2 个答案:

答案 0 :(得分:0)

正如日志中所写,您缺少以下属性(此处填充示例):

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

我总是觉得研究sample documentation是有用的。

答案 1 :(得分:0)

如果在Windows奴隶上运行Jenkins的声纳 - 跑步者,请不要在任何密码字段中包含&符号(&)。我的sonar.password有这个角色。这将导致其余的声纳 - 跑步者参数被忽略。此设置已在Jenkins系统配置的Sonar设置中配置。

抱歉,从我的问题中无法确定这一点,但如果有人遇到这个奇怪的问题,他们应该检查他们的密码字段。我最终不得不编辑我的声纳 - 跑步者批处理脚本以显示参数,以便找到问题。