从Jenkins到SonarQube发布JUnit结果不在同一台服务器上

时间:2016-01-12 08:55:53

标签: jenkins junit sonarqube

我有以下设置:

  • 服务器192.168.0.xxx运行Jenkins 1.643
  • 服务器192.168.0.yyy运行SonarQube 5.2(使用Java 1.8.0_66)
  • 服务器192.168.0.zzz运行PostgreSQL作为SonarQube DB(FYI)

我希望Jenkins对特定项目运行SonarQube分析。因此,我创建了一个目标为sonar:sonar -Dsonar.host.url=http://192.168.0.yyy的工作。除了SonarQube中的代码覆盖之外,一切都运行良好。虽然詹金斯有几项测试,但它的覆盖率为0,0%。

所以我很确定测试结果不会发布到SonarQube。谷歌带我到解决方案导出结果到同一服务器上的目录,并通过-Dsonar.junit.reportsPath告诉SonarQube这个目录。

但是,如果Jenkins和SonarQube不在同一台服务器上,这个解决方案并不容易实现。长话短说:是否有另一种方式将JUnit测试结果发布到SonarQube?

1 个答案:

答案 0 :(得分:1)

报告路径应指向不在sonarqube 服务器上运行分析的目录

所以当你运行声纳:sonar命令时,只需使用-Dsonar.junit.reportsPath指向包含单元测试执行报告的目录,你应该没问题。