如何链接SVN的源以使用SonarQube进行分析

时间:2014-05-09 12:21:06

标签: svn sonarqube sonar-runner

我正在研究一个我想要进行质量分析的项目。我听说过有关SonarQube的好消息并想尝试一下。我有以下设置:

SonarQube与Sonar Runner for Java一起安装在服务器上。它已配置并准备就绪。我的代码驻留在我的计算机本地,远程位于与SVN主机服务器不同的SonarQube服务器上。

我正在使用Eclipse并安装了Sonar Eclipse。我想在服务器上进行预定的质量分析,并使用Sonar Eclipse在本地使用预览。目前,我最大的问题是如何让Sonar Runner分析我的源文件。

据我在文档中读到,我需要以某种方式将我的代码与配置文件一起放入SonarQube Project文件夹中的相应文件夹中。是否没有将项目链接到远程源文件?

看一些documentation on links,这似乎是可能的。但我不明白例如SourcesDeveloper connections之间的差异。

2 个答案:

答案 0 :(得分:1)

SonarQube不会自行获取源代码,Project Links部分仅用于文档。

定期分析存储库中源代码的最简单方法是使用专用工具安排分析 - 例如cron任务,Windows计划任务或更好的持续集成服务器。

例如,您可以设置Jenkins作业以从SVN存储库获取源代码,构建它,运行自动化测试并最终启动SonarQube Runner。

答案 1 :(得分:0)

最简单的方法是

  • 在SonarQube主机上安装SVN(客户端部分)
  • 在SonarQube主机上创建项目的WC
  • 按需更新SonarQube的工作副本到实际HEAD并执行分析(您可能还希望将结果存储在存储库中/以某种方式与代码分开/在这种情况下,结果可以存储在WC中并提交到存储库)

对于Git工作流程只会略有不同:您必须拥有Git,克隆仓库(一次),按需提取,将结果提交到本地仓库但从不推送到上游

修改

作为mentioned by Patroklos Papapetrou

  

所有SonarQube客户端(声纳 - 跑步者,maven插件等)需要   您的源代码已经在机器中   运行分析

因此,如果您不希望(不能拥有)SonarQube 上的SVN WC,并且希望在每次提交后进行分析,那么您只有一个选择:

  • 在Subversion服务器端的post-commit钩子中执行

    • 将存储库(主干)树导出到某个本地临时文件夹
    • 将树(使用任何可用的方法/ ssh,ftp,rsync /)传输到SonarQube的主目录(从以前的分析源中删除),可以使用声纳 - 跑步者